Aller au contenu

Hewlett Packard Graphic Language

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis HP-GL)

Hewlett Packard Graphic Language, plus connu sous le nom de HPGL ou HP-GL, est un langage informatique originellement dédié à l'impression par traçage (et également utilisé par la suite pour la découpe de matériaux) développé par HP et devenu un standard de l'industrie. C'est l'un des plus anciens langages de description de page.

Présentation

[modifier | modifier le code]

Conçu en 1977 pour coder les mouvements du traceur à plumes HP-9872, il a ensuite évolué pour être adapté aux traceurs et imprimantes grands formats à jet d'encre[1]. Cette évolution est le HPGL/2.

En HP-GL, le dessin est décrit par une suite de commandes élémentaires formant un langage graphique rudimentaire : « prendre plume » (Select Pen, mnémonique SP), « lever plume » (Pen Up, pour se déplacer sur la feuille sans effectuer de tracé), « baisser plume » (Pen Down, pour écrire), « se déplacer en X-Y », « prendre feuille », « éjecter feuille », etc. Voici par exemple le code HP-GL permettant de tracer un segment de droite :

SP1;
PA500,500;
PD;
PR0,1000;
PU;
SP;

Ce programme demande à la table traçante, dans l'ordre, de

  • sélectionner la plume no 1 (SP1 = Select Pen 1)
  • de déplacer la plume au point de coordonnées X=500, Y=500 sur la feuille (PA = Plot Absolute),
  • de plaquer la plume contre le papier (PD = Pen Down),
  • d'effectuer une translation de 1000 unités dans la direction Y (ce qui trace une ligne verticale - PR = Plot Relative),
  • de lever la plume (PU = Pen Up) et enfin de la replacer dans son logement.

Le HPGL2 inclut les mnémoniques du HP-GL, mais incorpore quatre polices de caractère pré-codées, ce qui permet le rendu correct d'un texte sur une imprimante laser, malgré le petit nombre de commandes de ce langage graphique.

Notes et références

[modifier | modifier le code]
  1. (en) Tom Tremble (HP San Diego Division), « The HP-GL Story » [PDF], sur Pearl Hifi

Articles connexes

[modifier | modifier le code]