HP-GL
HP-GL, abreviatura de Lenguaje de gráficos de Hewlett-Packard y, a menudo, escrito como HPGL, es un lenguaje de control de impresora creado por Hewlett-Packard. Packard (HP). HP-GL fue el principal lenguaje de control de impresora utilizado por los trazadores HP. Se introdujo con el plotter HP-8972 en 1977 y se convirtió en un estándar para casi todos los plotters. Las impresoras de Hewlett-Packard también suelen ser compatibles con HP-GL/2 además de PCL.
Diseño
El idioma se forma a partir de una serie de códigos de dos letras (mnemónicos), seguidos de parámetros opcionales. Por ejemplo, se puede dibujar un arco en una página enviando la cadena:
Esto significa Arco Absoluto, y los parámetros ubican el centro del arco en las coordenadas absolutas 100,100 en la página, con un ángulo inicial de 50 grados medidos en sentido antihorario. Un cuarto parámetro opcional (que no se usa aquí) especifica hasta dónde continúa el arco y el valor predeterminado es 5 grados.
Cuando se presentó por primera vez, HP-GL contenía los siguientes comandos:
Comando | Significado |
---|---|
Vector Group | |
PA x,y{,x,y{...} | Parcela absoluta [i] |
PR x,y{,x,y{...} | Plot relative [i] |
PD | Pene abajo |
PU | Ánimo. |
Grupo de Carácter | |
CA n | Designar caracteres alternativos conjunto n [i] |
CP espacios, líneas | Carácter [d] |
CS m | Designate standard set m [i] |
DI correr, subir | Dirección absoluta [d] |
DR correr, subir | Dirección relativa [d] |
LB c,... | Label ASCII string [c] |
SA | Seleccionar el conjunto de caracteres alternativos |
SI ancho, alto | Tamaño absoluto del personaje [d] |
SL tan θ | Personaje absoluto (de vertical) [d] |
SR ancho, alto | Tamaño relativo del carácter [d] |
SS | Seleccionar el conjunto de caracteres estándar |
UC x, y, pen{,...} | Carácter definido por el usuario [i] |
Grupo tipo línea | |
LT t{,l} | Designate line type t and length l [d] |
SM c | Modo de símbolo [c] |
SP n | Seleccione la pluma [i] |
VA | Velocidad adaptativa |
VN | Velocidad normal |
VS v{,n} | Seleccione velocidad v para pen n [i] |
Digitize Group | |
DC | Digitize clear |
DP | Punto de digitización |
OC | Posición actual y estado de la pluma |
OD | Punto digitalizado de salida y estado de pluma |
Axes | |
TL Tp{,tn} | Longitud del tejido [d] |
XT | Cierre de eje X |
YT | Y axis tick |
Set-Up Group | |
IP p1x,p1y,p2x,p2y | Entrada p1 y p2 [i] |
IW xlo,ylo,xhi,yhi | Ventana de entrada [i] |
OP | Producto p1 y p2 [i] |
Estado de configuración | |
AP | Recopilación automática de plumas [i] |
DF | Establecer valores predeterminados |
IM e{,s{,p} | Entrada e, s y p máscaras [i] |
IN | Inicializar |
OE | Error de salida [i] |
OS | Estado de producción [i] |
SI w, h | ancho de caracteres y altura |
Formatos:
- [i]: formatos enteros entre -32767 y 32768. Sin punto decimal.
- [d]: formato decimal entre +/- 127.9999. Punto decimal opcional.
- [c]: ASCII character
Ejemplos
Los archivos típicos de HP-GL comienzan con unos pocos comandos de configuración, seguidos de una larga cadena de comandos de gráficos. El archivo estaba en formato ASCII (archivo de texto), por ejemplo:
Comando | Significado |
---|---|
IN; | inicializar, iniciar un trabajo de trama |
IP; | establecer los puntos de escala (P1 y P2) a sus posiciones predeterminadas |
SP1; | seleccionar la pluma 1 |
PU0,0; | ascensor Subir y pasar al punto de partida para la siguiente acción |
PD100,0,100,100,0,100,0,0; | poner Pen Down y pasar a los siguientes lugares (derrojar una caja alrededor de la página) |
PU50,50; | Pen Up y pasar a X,Y coordenadas 50,50 |
CI25; | dibujar un círculo con radio 25 |
SS; | seleccionar el conjunto de caracteres estándar |
DT*,1; | establecer el delimitador de texto al asterisco, y no imprimirlos (el 1, que significa "verdad") |
PU20,80; | levantar la pluma y mover a 20,80 |
LBHello World*; | dibujar una etiqueta |
El sistema de coordenadas se basó en las unidades más pequeñas que podía admitir uno de los trazadores HP y se configuró en 25 µm (es decir, 40 unidades por milímetro, 1016 por pulgada). El espacio de coordenadas eran números de coma flotante positivos o negativos, específicamente ±230.
HP-GL/2
El lenguaje HP-GL original no admitía la definición del ancho de línea, ya que este parámetro lo determinaban las plumas cargadas en el trazador. Con la llegada de los primeros plotters de inyección de tinta, el ancho de línea de los "bolígrafos" especificado dentro de los archivos HP-GL tenía que configurarse en la impresora para que supiera qué ancho de línea imprimir para cada bolígrafo, un proceso engorroso y propenso a errores. Con Hewlett-Packard Graphics Language/2, también conocido como HP-GL/2, la definición del ancho de línea se introdujo en el lenguaje y permitió la eliminación de este paso. Además, entre otras mejoras, se definió un formato de archivo binario que permitía archivos más pequeños y tiempos de transferencia de archivos más cortos, y se redujo la resolución mínima.
Comando | Significado |
---|---|
NPx | número de bolígrafos; x=1..256 |
PCx,r,g,b | color pluma; x=pen, r=red, g=green, b=blue, 0..255 |
PWw,x | ancho de la pluma; w=anchura en mm con punto decimal, x=pen |
AGL
HP-GL está relacionado con AGL (un lenguaje de gráficos), una extensión del lenguaje de programación BASIC. AGL se implementó en minicomputadoras Hewlett-Packard para simplificar el control de un trazador. Los comandos AGL describen la función de trazado de gráficos deseada, que la computadora transmite como varias instrucciones HP-GL al trazador.
Contenido relacionado
Lenguaje de integración multimedia sincronizada
Jerga de Internet
Bajo (sonido)