制御命令
HP-GL/2エミュレーションモードで使用できる制御命令について説明します。独自の制御プログラムを作成するときなどに、必要に応じてお読みください。
作図データや文字をキヤノン複合機/プリンターで印刷する際は、制御命令によって作図の細かい指示が行われています。本エミュレーションモードでは、HP Designjet 800でサポートしているHP-GL/2(Hewlett Packard-Graphics Language)命令およびHP RTL(Hewlett Packard Raster Transfer Language)命令によって図面やグラフを描くことができます。
アプリケーションソフトウェアを使用して印字するときは、アプリケーションソフトウェア側で自動的にこの制御命令を送り出しています。独自に作成したプログラムで印字する場合は、本カテゴリに記載される制御命令の説明をご覧ください。
制御命令の種類
HP-GL/2エミュレーションモードで使用できる制御命令は次のとおりです。
制御コード
HP Designjet 800の制御コードのうち、プロッターの制御を行う機能が割り当てられているものについて説明します。
HP-GL/2命令
HP Designjet 800で使用できるHP-GL/2命令について説明します。
HP RTL命令
HP Designjet 800で使用できるHP RTL命令について説明します。
HP-GL/2命令の書式
HP-GL/2命令には、決まった書式があります。
たとえば、HP-GL/2の作図命令を使って、座標(1000,500)から(2000,3000)の位置まで直線を引く場合、次のような命令を送ります。
PA1000,500;
PD;
PA2000,3000;
PU;
キヤノン複合機/プリンターは、この命令を受け取ると、座標(1000,500)に現在位置を移動して、その点から座標(2000,3000)までの間に、現在選択されているペン(線の太さ、グレータイプおよび指定カラー)で直線を引きます。
「PA」、「PD」などの先頭のアルファベットの2文字が命令を示します。
命令によっては、いくつかのパラメータを伴うものがあります。
たとえば、「PA」の後ろには座標を示す2つのパラメータが必要になります。パラメータが複数の場合は、パラメータの間に「,」をつけてパラメータを区切ります。
また、命令の最後には、その命令の終わりを示すターミネータ「;」を付けます。パラメータの不要な命令では、省略することも可能で、次の命令を続けて送ることもできます。(本エミュレーションモードでは、HP-IBインターフェイスを使用できませんので、 LF コードをターミネータとして使用することはできません。)
なお、
文字プロット命令(LB)では、ターミネータに ETX コードを使用します。文字プロット命令以降に続く文字列データの最後に ETX コードを付加します。ただし、ホストコンピューター上の問題で ETX コードを使用できない場合は、ターミネータ設定命令によって ETX コードをほかの文字キャラクタに変更することも可能です。
HP-GL/2命令のパラメータには、次の3種類のデータの種類(型)があります。
整数型 | 整数値を指定します。 整数型の指定範囲:-8388608~+8388607 例:ペン選択命令 SP2; |
実数型 | 実数値を指定します。 実数型(sd)の指定範囲:-8388608.00000000~+8388607.00000000 例:絶対文字方向命令 DI2.5,-2; |
文字型 | 文字、数式、文字変数などを指定します。 [paragraphstyle:text_level2:例:文字プロット命令 LBPLOTTER ETX |
表中の指定範囲は、HP-GL/2でエラーにならない値であり、実際の有効範囲(パラメータとして意味を持つ値)は命令によって異なります。
命令によっては、パラメータを必ず指定するものと、省略できるものがあります。以降の説明では、それぞれのパラメータを2種類のカッコで区別しています。
また、カッコの中には、パラメータのデータ型を示します。
< > | :必ず指定するパラメータ |
《 》 | :省略できるパラメータ |
<(i)> | :整数型 |
<(sd)> | :実数型 |
<(DEC)> | :整数型文字データ(10進数) |
<(ASC)> | :文字型データ(ASCII文字) |
HP RTL命令の書式
HP RTLコマンドは、Escape Sequenceコードに基づくコマンド体系です。本コマンドはJISのESC(16進数:1B)文字に始まり、二つ以上の文字で構成されています。
たとえば、パラメータ付きのEscape Sequenceコードは以下の形式で構成されています。
入力例: Esc X y # Z
X : パラメータ文字('%'、'&'、'*')
y* : グループ文字('a'、'b'、'n'、'r' 、't' 、'v')
#* : 各命令に対応する数値を指定します。
Z : 終了文字
[Data] : バイナリデータ(8ビット)
* 命令によっては、省略できるものもあります。
本エミュレーションモードでは、次のHP-GL/2命令はサポートしていません。
命令名 |
CF | Character Fill |
DC | ディジタイズモードのクリア(無視) |
DP | ディジタイズモードの設定(無視) |
FI | Primary Font Selection by ID |
FN | Secondary Font Selection by ID |
FR | 長軸作図のために相対座標系などの計算を行う |
MG | Message |
MT | Media Type |
NR | Not Ready |
OD | Output Digitized Point and Pen Status |
OE | エラー番号を出力可能にする |
OH | ハードクリップリミットを出力可能にする |
OI | プロッターの機種を出力可能にする |
OP | スケーリングポイントを出力可能にする |
QL | Quality Level |
SB | Scalable or Bitmap Fonts |
ST | テキストの位置を指定 |
VS | ペン速度の指定 |