title: HPGL
text: # HPGL
  
  HPGL, a volte citato come HP-GL, è il principale linguaggio di controllo per stampanti usato dai plotter Hewlett-Packard. Il nome è la sigla di Hewlett-Packard Graphics Language. Successivamente è diventato uno standard per la maggior parte dei plotter. In altre parole è un protocollo di stampa indicato per l'uso nelle periferiche come plotter e cutter.
  
  ## Caratteristiche
  
  Il linguaggio, o meglio il protocollo, è formato da una serie di due lettere seguite da altri parametri numerici opzionali che sono la parte variabile del comando. Per esempio un arco può essere disegnato su di una superficie inviando la seguente stringa comando:
  
  AA100,100,50;
  
  Questo significa Arco Assoluto ed i parametri successivi indicano che il centro di questo arco è posto ad un valore di 100,100 della superficie della pagina ed ha un angolo di partenza di 50° misurati in senso antiorario. Un quarto parametro, non usato nell'esempio, specifica l'estensione dell'arco che, come standard, è di 5°.
  
  Tipicamente un file HPGL inizia con una serie di comandi di configurazione del plotter o della stampante ricevente, seguito da una lunga serie di righe di comando di disegno grafico.
  
  Nella tabella un esempio di file HPGL:
  
      Un esempio di file HPGL Comando Significato IN;inizializzazione, inizio di un lavoro di plotting IP; impostazione del punto di inizio (origine), in questo caso è il default 0,0 SC0,100,0,100; impostazione della scala: X,Y significa che la pagina è da 0 a 100 nei due assi X e Y SP1;seleziona la penna 1 PU0,0; muovi la penna al punto di partenza 0,0 per iniziare la successiva azione PD100,0,100,100,0,100,0,0; abbassa la penna e muovila nei punti indicati (disegna un quadrato nella pagina) PU50,50;solleva la penna e muovila in 50,50 CI25;disegna un cerchio con un raggio di 25 SS;seleziona il font di caratteri standard DT*,1; imposta il carattere asterisco come delimitatore di testo, che non sarà stampato.(1 significa "vero" cioè SET) PU20,80;solleva la penna e muovila in 20,80 LBCiao Mondo*;scrivi "Ciao Mondo"
  
  Il sistema di coordinate era basato sulla più piccola unità di scostamento (o passo) che i plotter HP potevano avere ed era di 25 µm (cioè di 40 passi per millimetro). Le coordinate spaziali sono positive o negative con numeri binari a virgola mobile, nella specifica $±2^{30}.$
  
  