| Розширення: | .hpgl, .hpg, .plt |
|---|---|
| MIME-тип: | application/vnd.hp-HPGL |
| Розробник: | Hewlett-Packard |
| Рік випуску: | 1977 |
| Розширений до: | Hewlett-Packard Graphics Language/2 |
| Розширення: | .hpgl, .hpg2, .hp2, .plt2 |
|---|---|
| MIME-тип: | application/vnd.hp-HPGL |
| Розробник: | Hewlett-Packard |
| Рік випуску: | 1993 |
| Дата випуску останньої версії: | 1996 |
| Розширений з: | Hewlett-Packard Graphics Language |
| Сайт: | support.hp.com/us-en/document/c01121263 |
HP-GL, або жHP/GL чиHPGL (скорочено відHewlett-Packard Graphics Language) — цемова керування принтером[en], створена компанієюHewlett-Packard (HP). HP-GL була основною мовою керування принтером, яку використовувалиплотери HP. Вона була представлена разом з плотером HP-9872[1][2] у 1977 році і стала стандартом майже для всіх плотерів.Принтери Hewlett-Packard також зазвичай підтримують HP-GL/2 на додаток доPCL[en].[3][4][5]

Мова формується з серії кодів двох букв (мнемоніки), за якими йдуть не обов'язкові параметри. Наприклад,дугу можна намалювати на сторінці, надіславши рядок:
AA100,100,50;
Це означаєArc Absolute, і параметри розміщують центр дуги в абсолютнихкоординатах 100,100 на сторінці з початковим кутом 50градусів, виміряним проти годинникової стрілки. Четвертий не обов'язковий параметр (тут не використовується) визначає, наскільки далеко триває дуга, і за замовчуванням він становить 5 градусів.
Система координат базувалася на найменших одиницях, які міг підтримувати один із плотерів HP, і була встановлена на 25 мкм (тобто 40 одиниць на міліметр, 1016 на дюйм). Координатним простором були додатні та від'ємні числаз рухомою комою, зокрема ±230. Відлік координат визначається в усі боки від початку координат, який знаходиться у центрі системи координат.[6]
Коли HP-GL був вперше представлений, він містив такі команди:[7][8]
| Команда | Значення |
|---|---|
| Група векторів | |
PA x,y{,x,y{...}} | Малювання в абсолютних координатах [i] |
PR x,y{,x,y{....}} | Малювання у відносних координатах [i] |
PD | Ручка вниз |
PU | Ручка вгору |
| Група символів | |
CA n | Призначити альтернативний набір символів n [i] |
CP пробіли, лінії | Малювання символу [d] |
CS m | Позначте стандартний набір m [i] |
DI пробіг, підйом | Абсолютний напрямок [d] |
DR пробіг, підйом | Відносний напрямок [d] |
LB c, … , c | Позначте рядокASCII [c] |
SA | Виберіть альтернативний набір символів |
SI ширина, висота | Абсолютний розмір символу [d] |
SL tan θ | Абсолютний нахил символу (від вертикалі) [d] |
SR широкий, високий | Відносний розмір символу [d] |
SS | Виберіть стандартний набір символів |
UC x, y, ручка {, …} | Визначений користувачем символ [i] |
| Група типів ліній | |
LT t{,l} | Позначте тип лінії t і довжину l [d] |
SM c | Режим символів [c] |
SP n | Виберіть ручку [i] |
VA | Адаптивна швидкість |
VN | Нормальна швидкість |
VS v{,n} | Виберіть швидкість v для пера n [i] |
| Група оцифрування | |
DC | Оцифрувати чітко |
DP | Оцифрувати точку |
OC | Виведення поточної позиції та стану пера |
OD | Виведення оцифрованого статусу точки та пера |
| Вісі | |
TL tp{,tn} | Довжина кліща [d] |
XT | Позначка осі X |
YT | Позначка осі Y |
| Група налаштування | |
IP p1x, p1y, p2x, p2y | Вхід p1 і p2 [i] |
IW xlo, ylo, xhi, yhi | Вікно введення [i] |
OP | Вихід p1 і p2 [i] |
| Статус конфігурації | |
AP | Автоматичний прийом пера [i] |
DF | Встановіть значення за замовчуванням |
IM e{,s{,p}} | Введіть маски e, s і p [i] |
IN | Ініціалізувати |
OE | Помилка виведення [i] |
OS | Статус виходу [i] |
SI w, h | встановити ширину і висоту символів |
Формати:
Оригінальна мова HP-GL не підтримувала визначення ширини лінії, оскільки цей параметр визначався ручками, завантаженими в плотер. З появою першихструменевих плотерів ширину лінії для «ручок», зазначених у файлах HP-GL, потрібно було встановлювати на принтері, щоб він знав, яку ширину лінії друкувати для кожної ручки, — громіздкий і схильний до помилок процес. Разом зHewlett-Packard Graphics Language/2 (скороченоHP-GL/2) визначення ширини лінії було введено в мову та дозволило скасувати цей крок. Крім того, серед інших удосконалень було визначенодвійковий формат файлу, який дозволяв створювати файли меншого розміру та скорочувати час передачі файлів, а мінімальну роздільну здатність було зменшено.
У HP-GL/2, на відміну від HP-GL, відлік координат визначається вниз і вправо від початку координат, який знаходиться у лівому верхньому куті системи координат.[6]
Типові файли HP-GL починаються з кількох команд налаштування, за якими йде довгий ряд графічних команд. Файл був уформатіASCII (текстовий файл), наприклад:
| Команда | Значення |
|---|---|
| IN; | ініціалізувати, розпочати роботу з малювання |
| IP; | встановіть точки масштабування (P1 і P2) на положення за замовчуванням |
| SP1; | виберіть ручку 1 |
| PU0,0; | підніміть ручку вверх і перейдіть до початкової точки для наступної дії |
| PD100,0,100,100,0,100,0,0; | опустіть ручку вниз і перейдіть до наступних місць (намалюйте рамку навколо сторінки) |
| PU50,50; | підніміть ручку вгору та перейдіть до координат X, Y 50,50 |
| CI25; | намалюйте коло радіусом 25 |
| SS; | вибрати стандартний набір символів |
| DT*,1; | встановіть роздільник тексту на зірочку та не друкуйте їх (1, що означає «вірно») |
| PU20,80; | підніміть ручку та перейдіть до 20,80 |
| LBHello World*; | намалювати мітку |
| Команда | Значення |
|---|---|
| NPx | кількість ручок; х=1.. 256 |
| PCx, r,g, b | колір ручки; x=ручка, r=червоний, g=зелений, b=синій, 0.. 255 |
| PWw, x | ширина пера; w=ширина пера в мм з десятковою комою, x=перо |
HP-GL пов'язаний зAGL (A Graphics Language), розширенням мови програмуванняBASIC. AGL був імплементований наміні-комп'ютерах Hewlett-Packard для спрощення керування плотером. Команди AGL описують функцію потрібну для графічної побудови, яку комп'ютер передає плотеру у вигляді кількох інструкцій HP-GL.
Експорт та імпорт файлів у форматах HP-GL та HP-GL/2 підтримують більшість сучаснихСАПР та редакторіввекторної графіки. Серед таких програм є також і вільне програмне забезпечення:
Також створено спеціалізовані переглядачі файлів HP-GL та HP-GL/2, зокрема організаціяCERN створила переглядачHP-GL Viewer (або жDesigner viewer), який безкоштовно доступний на сайті організації для операційних системWindows (також працює уWine),Linux таMac OS і може конвертувати файли HP-GL та HP-GL/2 з одного в інший, а також у форматиDXF,Encapsulated PostScript,PostScript таComputer Graphics Metafile[en].[9]
{{cite book}}:Перевірте значення|doi= (довідка)A short-form presentation of the Hewlett Packard Graphics Language, from a HP 9872B/9872S technical data sheet, June 1979.