HP-GL

Ajustar Compartir Imprimir Citar

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:

AA100,100,50;

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]
PDPene abajo
PUÁnimo.
Grupo de Carácter
CA nDesignar caracteres alternativos conjunto n [i]
CP espacios, líneasCarácter [d]
CS mDesignate standard set m [i]
DI correr, subirDirección absoluta [d]
DR correr, subirDirección relativa [d]
LB c,...Label ASCII string [c]
SASeleccionar el conjunto de caracteres alternativos
SI ancho, altoTamaño absoluto del personaje [d]
SL tan θPersonaje absoluto (de vertical) [d]
SR ancho, altoTamaño relativo del carácter [d]
SSSeleccionar 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 cModo de símbolo [c]
SP nSeleccione la pluma [i]
VAVelocidad adaptativa
VNVelocidad normal
VS v{,n}Seleccione velocidad v para pen n [i]
Digitize Group
DCDigitize clear
DPPunto de digitización
OCPosición actual y estado de la pluma
ODPunto digitalizado de salida y estado de pluma
Axes
TL Tp{,tn}Longitud del tejido [d]
XTCierre de eje X
YTY axis tick
Set-Up Group
IP p1x,p1y,p2x,p2yEntrada p1 y p2 [i]
IW xlo,ylo,xhi,yhiVentana de entrada [i]
OPProducto p1 y p2 [i]
Estado de configuración
APRecopilación automática de plumas [i]
DFEstablecer valores predeterminados
IM e{,s{,p}Entrada e, s y p máscaras [i]
INInicializar
OEError de salida [i]
OSEstado de producción [i]
Comandos añadidos (cuando?)
SI w, hancho de caracteres y altura

Formatos:

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:

Un archivo HP-GL 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.

Ejemplos de comandos HP-GL/2
Comando Significado
NPxnúmero de bolígrafos; x=1..256
PCx,r,g,bcolor pluma; x=pen, r=red, g=green, b=blue, 0..255
PWw,xancho 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.