HP-GL ( Hewlett-Packard Graphics Languageの略で、 HPGLと表記されることが多い)は、ヒューレット・パッカード(HP)が作成したページ記述言語です。HP-GLは、HPプロッターで使用されていた主要なページ記述言語でした。[ 1 ] 1977年にプロッターHP-9872で導入され、ほぼすべてのプロッターの標準となりました。ヒューレット・パッカードのプリンターは、通常、 PCLに加えてHP-GL/2もサポートしています。[ 2 ]
この言語は、2文字のコード(ニーモニック)の連続と、それに続くオプションのパラメータで構成されています。例えば、次の文字列を送信することで、ページ上に円弧を描画できます。
AA100,100,50;
これは「絶対円弧」を意味し、パラメータによって円弧の中心がページ上の絶対座標100,100に配置され、開始角度は反時計回りに50度となります。4番目のオプションパラメータ(ここでは使用されていません)は円弧の延長距離を指定し、デフォルト値は5度です。
HP-GLが最初に導入されたとき、以下のコマンドが含まれていました。
フォーマット:
典型的なHP-GLファイルは、いくつかのセットアップコマンドで始まり、その後に長いグラフィックコマンドの文字列が続きます。ファイルはASCII(テキストファイル)形式で、例えば次のようになります。
座標系は、HP プロッターがサポートできる最小単位に基づいており、25 μm (つまり、1 ミリメートルあたり 40 単位、1 インチあたり 1016 単位) に設定されました。座標空間は、正または負の浮動小数点数、具体的には ±2 30 です。
オリジナルのHP-GL言語では、線幅の定義はサポートされていませんでした。このパラメータは、プロッタに装填されたペンによって決定されていたためです。最初のインクジェットプロッタが登場すると、HP-GLファイル内で指定された「ペン」の線幅をプリンタ側で設定する必要がありました。これは、各ペンでどの線幅で印刷するかをプリンタが認識できるようにするため、煩雑でエラーが発生しやすいプロセスでした。Hewlett -Packard Graphics Language/2 (通称HP-GL/2)では、線幅の定義が言語に導入され、この手順が不要になりました。また、その他の改善点として、ファイルサイズを小さくし、ファイル転送時間を短縮できるバイナリファイル形式が定義され、最小解像度も引き下げられました。
HP-GLは、 BASICプログラミング言語の拡張であるAGL (A Graphics Language)に関連しています。AGLは、プロッタの制御を簡素化するためにヒューレット・パッカードのミニコンピュータに実装されました。AGLコマンドは、目的とするグラフィック描画機能を記述し、コンピュータはそれを複数のHP-GL命令としてプロッタに送信します。