HP-GL Reference Guide

更新 2022年11月26日

日本語ホーム
対応ファイル
図面編集機能
English HP
製品ページ
・HView
・PloViewMini
・PloView
・PloComp
・PloCon
・PloViewAuto
・PloCompAuto
・PloCVAuto
・PloImage
カタログ(PDF)
ダウンロード
・PloView
・PloComp
・PloCon
・PloViewAuto
・PloCompAuto
・PloCVAuto
・PloImage

 

   サムネイル表示
 この"HP-GL Reference Guide"はHP-GL命令について記載しています。
 HP-GLは Hewlett-Packard Graphics Language の略称でHP社で開発されたプロッタ制御用の命令セットです。HP-GL仕様は次に示すHP-GL、HP-GL/2、HP RTLと3種類あります。
 HP-GL    :ペンプロッタ制御用ベクターデータ
 HP-GL/2:ラスタープロッタ制御用ベクターデータ
 HP RTL  :ラスタープロッタ制御用ラスターイメージデータ
ここでは、最初に公開されたHP-GLについて説明します。
HP-GLサンプルはHPGLビューワーPloViewによって表示した結果を載せています。
 
目次
1.HP-GL命令の文法
2.座標系
 ●プロッタ座標系
 ●ユーザ座標系
3.プロッタのセットアップ
 ●IN(Initialize)命令
 ●DF(Defalt)命令
 ●IP(Input P1 and P2)命令
 ●SC(Scale)命令
4.基本的なプロット命令
 ●SP(Select Pen)命令
 ●PU(Pen Up)命令
 ●PD(Pen Down)命令
 ●PA(Plot Absolute)命令
 ●PR(Plot Relative)命令
 ●LT(Line Type)命令
5.円、円弧、多角形のプロット
 ●CT(Chord Tolerance)命令
 ●CI(Circle)命令
 ●AA(Arc Absolute)命令
 ●AR(Arc Relative)命令
 ●FT(Fill Type)命令
 ●PT(Pen Thickness)命令
 ●WG(Fill Wedge)命令
 ●EW(Edge Wedge)命令
 ●RA(Fill Rectangle Absolute)命令
 ●EA(Edge Rectangle Absolute)命令
 ●RR(Fill Rectangle Relative)命令
 ●ER(Edge Rectangle Relative)命令
 ●PM(Polygon Mode)命令
 ●EP(Edge Polygon)命令
 ●FP(Fill Polygon)命令
6.文字プロット命令
 ●LB(Label)命令
 ●DT(Define Terminator)命令
 ●SI(Absolute Character Size)命令
 ●SR(Relative Character Size)命令
 ●SU(User Unit Character Size)命令
 ●SL(Character Slant)命令
 ●DI(Absolute Direction)命令
 ●DR(Relative Direction)命令
 ●DU(User Unit Direction)命令
 ●DV(Vertical Label Direction)命令
 ●LO(Label origin)命令
 ●CP(Character Plot)命令
 ●ES(Extra Space)命令
 ●BL(Buffer Label)命令
 ●PB(Print Bufferd Label)命令
 ●CS(Designate Standard Character Set)命令
 ●CA(Designate Alternate Character Set)命令
 ●SS(Select Standard Character set)命令
 ●SA(Select Alternate Character Set)命令
7.プロット領域の変更
 ●IW(Input window)命令
 ●RO(Rotate Coodinate System)命令
8.プロッタ制御
 ●PG(Page)命令
 ●AF(Advance Full Page)命令
 ●NR(Not Ready)命令
 ●PS(Paper Size)命令
9.問合せ先

1.HP-GL命令の文法


 HP-GLの命令は次に示すようにアルファベット2文字の命令部、パラメータ部、そしてターミネータ部から成ります。命令部の次に複数のパラメータを使用する場合は各パラメータをセパレータで区切る必要があります。
 例:PA5000,1000;
   (命令    )PA
   (パラメータ )5000
   (セパレータ ),
   (パラメータ )1000
   (ターミネータ);

デフォルトのセパレータは「,」、ターミネータはLB、BL命令以外は「;」、LB、BL命令ではエンドオフテキストコード<ETX>、ASCIIコード十進数で3です。
LB、BL命令中のラベル以外はスペース、C/R、L/Fコードは無視されます。
前の命令で出たパラメータは覚えており、パラメータを省略すると前のパラメータが使われます。


目次に戻る
 

2.座標系


 座標系は2次元XY直交座標です。
プロッタ座標系
 プロッタの最小移動単位はXY共0.025mmで、これを1単位とし整数で表わします。プロッタ機種により作画可能範囲が異なります。

ユーザ座標系
 予め、IP命令と、SC命令を組み合わせてユーザ座標系からプロッタ座標系へ変換する尺度、原点を設定することにより、ユーザ座標系で座標を指定できます。この設定をしないと、プロッタ座標系が採用されます。ユーザ座標系のX,Yは整数に加え、実数を使用できます。


目次に戻る
3.プロッタのセットアップ

IN(Initialize)命令
 プロッタを初期状態にします。
  IN;

DF(Defalt)命令
 プロッタを標準状態にします。
  DF;
 DF命令は次の状態に影響を与えません。なお、IN命令は次の状態も初期状態にします。
  P1とP2の位置
  現在のペン、その位置、アップ/ダウン

IP(Input P1 and P2)命令
 次項に説明する座標系の尺度、原点位置を設定するSC命令とセットで使われ、スケーリングポイントP1(p1x,p1y)とP2(p2x,p2y)を設定します。
  IP p1x,p1y,p2x,p2y;
 P1(p1x,p1y)とP2(p2x,p2y)はプロッタ座標。
 IP; はプロッタ機種ごとに異なる初期状態のP1,P2に戻します。

SC(Scale)命令
 前項のIP命令で設定したスケーリングポイントP1(p1x,p1y)とP2(p2x,p2y)に対し、ユーザ座標の位置を割り当て、ユーザ座標系に切り替えます。
  SC xmin,xmax,ymin,ymax;
 ユーザ座標の(xmin,ymin)がプロッタ座標のP1(p1x,p1y)に、
 ユーザ座標の(xmax,ymax)がプロッタ座標のP2(p2x,p2y)に割り当てます。
 ユーザ座標系からプロッタ座標系に戻すには次の命令を使用します。
  SC;

例1:左図
 プロッタ座標系(X:0〜4000,Y:0〜4000)に対しユーザ座標系(X:0〜100,Y:0〜100)を割当する。ユーザ座標系はmmと同じ単位になる。
例2:右図
 プロッタ座標系(X:-6000〜24000,Y:-6000〜18000)に対しユーザ座標系(X:-75〜300,Y:-75〜225)を割当する。ユーザ座標系は、mmの2倍になる。



目次に戻る

4.基本的なプロット命令


SP(Select Pen)命令
 ペンを選択します。ペン番号の範囲はプロッタ機種により異なりますが、最大で0〜255です。
  SP ペン番号;
 SP0; はペンプロッタでは持っているペンを格納します。

PU(Pen Up)命令
 ペンを上げます。
  PU;
 次は座標(x,y)の位置にペンを上げて移動します。なお座標は、前に使われた絶対座標(PA命令)、あるいは相対座標(PR命令)が使われます。初期値は絶対座標です。
  PU x,y(,x,y...);
 複数の(x,y)を続けるとその順にそれらの位置に移動します。

PD(Pen Down)命令
 ペンを下げます。
  PD;
 次は座標(x,y)の位置にペンを下げて移動します。なお座標は、前に使われた絶対座標(PA命令)、あるいは相対座標(PR命令)が使われます。初期値は絶対座標です。
  PD x,y(,x,y...);
 複数の(x,y)を続けるとその順にそれらの位置に移動します。

PA(Plot Absolute)命令
 絶対座標(x,y)の位置にペンを移動させます。
  PA x,y(,x,y...);
 複数の(x,y)を続けるとその順にそれらの位置に移動します。

SamplePA.hgl:長方形を描きます。
IN;IP0,0,4000,4000;SC0,100,0,100;
SP1;
PA0,0;
PD;
PA100,0;
PA100,100;
PA0,100;
PA0,0;
PU;



目次に戻る

PR(Plot Relative)命令
 今いる位置からの相対座標(x,y)の位置にペンを移動させます。
  PR x,y(,x,y...);
 複数の(x,y)を続けるとその順にそれらの位置に移動します。

SamplePR.hgl:長方形を描きます。
IN;IP0,0,4000,4000;SC0,100,0,100;
SP1;
PA0,0;
PD;
PR100,0;
PR0,100;
PR-100,0;
PR0,-100;
PU;



目次に戻る

LT(Line Type)命令
 直線、円、円弧、長方形作画で使用する線種を設定します。
  LT パターン番号(,パターン長);
 パターン番号に対する標準の線種は以下の通りです。
  0 指定点に点をプロット
  1 点の点線
  2 短い点線
  3 長い点線
  4 短い1点鎖線
  5 長い1点鎖線
  6 2点鎖線
 パターン長は1つのパターンの長さをスケーリングポイントP1,P2間距離の百分率で指定します。
 指定が無いと4%となります。

SampleLT.hgl:パターン番号1〜6の線分を描きます。
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
PU0,0;PD100,0;
LT0,4;PU0,5;PD100,5;
LT1,4;PU0,10;PD100,10;
LT2,4;PU0,15;PD100,15;
LT3,4;PU0,20;PD100,20;
LT4,4;PU0,25;PD100,25;
LT5,4;PU0,30;PD100,30;
LT6,5;PU0,35;PD100,35;



目次に戻る

5.円、円弧、多角形のプロット


CT(Chord Tolerance)命令
 CI,AA,AR,WG,EW命令の分解能のパラメータを角度(単位:度)にするか、偏倚距離(単位:現在の座標系の寸法)にするかを選択します。円、円弧は多角形近似してプロットします。パラメータの角度とは多角形の一辺の中心点に対する角度を言います。また、偏倚距離とは真円の先端から多角形の一辺までの距離を言います。分解能のパラメータが小さい程きれいな円、円弧をプロットしますが、プロットに時間を要するようになります。
  CT n;
 nが0の場合、角度に、1の場合、偏倚距離に設定します。初期値は0です。

       

CI(Circle)命令
 その時のペンの位置を中心として指定された半径(現在の座標系の寸法)と分解能で円をプロットします。CI命令ではPD命令は不要です。CI命令後のペンアップ/ダウンはCI命令前の状態になります。分解能が省略されると角度5度になります。
  CI 半径(,分解能);

SampleCTCI.hgl
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
CT0;
PA10,10;
CI10;
PA40,10;
CI10,30;
PA70,10;
CI10,45;
CT1;
PA10,40;
CI10,0.5;
PA40,40;
CI10,1.0;
PA70,40;
CI10,1.5;



目次に戻る

AA(Arc Absolute)命令
 絶対座標で与えられた点(xc,yc)を中心として、その時のペンの位置を始点としてパラメータで指定された中心角(単位:度)と分解能でプロットします。分解能が省略されると角度5度になります。
  AA xc,yc,中心角(,分解能);

SampleAA.hgl:
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
CT1;
PU;PA5,0;PD;
AA5,5,-180,0.1;
PA15,10;
AA15,5,-180,0.4;
PA5,0;



目次に戻る

AR(Arc Relative)命令
 その時のペンの位置からの相対座標で与えられた点(xc,yc)を中心として、その時のペンの位置を始点としてパラメータで指定された中心角(単位:度)と分解能でプロットします。分解能が省略されると角度5度になります。
  AR xc,yc,中心角(,分解能);

SampleAR.hgl:
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
CT0;
PU;PA5,0;PD;
AR0,5,-180;
PR10,0;
AR0,-5,-180,30;
PR-10,0;



目次に戻る

FT(Fill Type)命令
 FP,RA,RR,WG命令と一緒に使用して、シェディング(塗り潰しとハッチング)の型を指定します。
  FT(型(,間隔(,角度)));
 型は次のようになっております。初期値は1です。
  1 PT命令で指定した間隔で双方向の塗り潰し(FT命令の間隔、角度は無視)
  2 PT命令で指定した間隔で単方向の塗り潰し(FT命令の間隔、角度は無視)
  3 FT命令で指定した間隔、角度で単方向のハッチング
  4 FT命令で指定した間隔、角度でクロスハッチング
 間隔はハッチングの平行線間距離で、現在の座標系です。初期値はP1とP2間距離の1%。
 角度はハッチングの角度で単位度で表わします。初期値は0度です。

PT(Pen Thickness)命令
 FP,FT,RR,RA,WG命令と一緒に使用して、ペンの太さに合わして塗り潰し間隔(単位mm)を0.1から5.0の間で指定します。初期値は0.3mmです。
  PT 塗り潰し間隔;

WG(Fill Wedge)命令
 FT,PT命令と共に使用され、現在の位置を中心として、半径、始点角(単位:度)、分解能によって定まる扇形の内部をシェイディングします。
  WG 半径、始点角、中心角(,分解能);

SampleWG.hgl;
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
PU;PA50,50;
FT3,5;
WG50,90,180;
SP2;FT4,5,45;
WG50,270,60;
SP3;FT1;
WG50,330,120;



目次に戻る

EW(Edge Wedge)命令
 現在の位置を中心として、半径、始点角(単位:度)、分解能によって定まる扇形をプロットします。
  EW 半径、始点角、中心角(,分解能);

SampleWGEW.hgl;
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
PU;PA50,50;
FT3,5;
WG50,90,180;
SP2;FT4,5,45;
WG50,270,60;
SP3;FT1;
WG50,330,120;
SP4;
EW50,90,180;
EW50,270,60;
EW50,330,120;



目次に戻る

RA(Fill Rectangle Absolute)命令
 FT,PT命令と共に使用され、現在の位置とここで指定された座標(x,y)を対角点とする長方形の内部をシェディングします。命令後のペン位置、ペンアップ/ダウン状態は命令前の状態になります。
  RA x,y;

SampleRA.hgl:
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
PU;PA0,0;
FT1;
RA40,40;
SP2;
FT3,4;
PA60,0;
RA100,40;
SP3;
FT4,4,45;
PA0,60;
RA40,100;
SP4;
FT2;
PA60,60;
RA100,100;



目次に戻る

EA(Edge Rectangle Absolute)命令
 現在の位置とここで指定された座標(x,y)を対角とする長方形をプロットします。命令後のペン位置、ペンアップ/ダウン状態は命令前の状態になります。
  EA x,y;

SampleRAEA.hgl:
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
PU;PA0,0;
FT1;
RA40,40;
SP2;
FT3,4;
PA60,0;
RA100,40;
SP3;
FT4,4,45;
PA0,60;
RA40,100;
SP4;
FT2;
PA60,60;
RA100,100;
SP5;
PA0,0;
EA40,40;
PA60,0;
EA100,40;
PA0,60;
EA40,100;
PA60,60;
EA100,100;



目次に戻る

RR(Fill Rectangle Relative)命令
 FT,PT命令と共に使用され、現在の位置とそこからの相対座標(x,y)を対角点とする長方形の内部をシェディングします。命令後のペン位置、ペンアップ/ダウン状態は命令前の状態になります。
  RR x,y;

ER(Edge Rectangle Relative)命令
 現在の位置とそこからの相対座標(x,y)を対角とする長方形をプロットします。命令後のペン位置、ペンアップ/ダウン状態は命令前の状態になります。
  ER x,y;

SampleRRER.hgl:
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
PU;PA0,0;
FT1;
RR40,40;
SP2;
FT3,4;
PA60,0;
RR40,40;
SP3;
FT4,4,45;
PA0,60;
RR40,40;
SP4;
FT2;
PA60,60;
RR40,40;
SP5;
PA0,0;
ER40,40;
PA60,0;
ER40,40;
PA0,60;
ER40,40;
PA60,60;
ER40,40;



目次に戻る

PM(Polygon Mode)命令
 多角形定義モードにします。PM命令はPA/PR,PU/PD,AA/AR,CI,CT命令と共に使用され、多角形を定義できます。定義した多角形はポリゴンバッファに記憶されます。定義した多角形をプロットするにはEP,FP命令を使用します。多角形は複数定義できます。多角形の中に多角形がある場合、FP命令でシェーディングすると包含関係の外から交互に(塗り)/(塗らない)が繰り返されます。
  PM n;
 nは次のようになっています。
  0 ポリゴンバッファをクリアーし、多角形定義モードにします
  1 定義中のポリゴンをクローズします
  2 定義中のポリゴンをクローズして多角形定義モードを解除します
 使い方:
  PM0; ポリゴンバッファをクリアーし、多角形定義モードにします
  PA/PR,PU/PD,AA/AR,CI,CT命令を複数用いて多角形を定義
  PM1; 1つ目のポリゴンをクローズ
  PA/PR,PU/PD,AA/AR,CI,CT命令を複数用いて多角形を定義
  PM1; 2つ目のポリゴンをクローズ
  ・・・・繰り返し
  PA/PR,PU/PD,AA/AR,CI,CT命令を複数用いて多角形を定義
  PM2; 最後のポリゴンをクローズして多角形モードを解除
  FP;EP; 多角形のシェーディングと外周をプロット

EP(Edge Polygon)命令
 PM,PA/PR,PU/PD,AA/AR,CI,CT命令でポリゴンバッファに定義した多角形の外周をプロットします。命令後のペン位置、ペンアップ/ダウン状態は命令前の状態になります。
  EP;

FP(Fill Polygon)命令
 PM,PA/PR,PU/PD,AA/AR,CI,CT命令でポリゴンバッファに定義した多角形の内部をシェイディングします。命令後のペン位置、ペンアップ/ダウン状態は命令前の状態になります。
  FP;

SamplePMEPFP.hgl:
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
PU;PA25,0;
PM0;PD;
AA25,25,-180;
PA75,50;
AA75,25,-180;
PA25,0;
PM1;
PU;PA25,25;
CI10;
PM1;
PU;PA65,15;PD;
PR0,20,20,0,0,-20,-20,0;PU;
PM2;
FT3,2,45;
FP;EP;



目次に戻る
 
6.文字プロット命令

LB(Label)命令
 設定されていた文字セットで文字をプロットします。文字列にはキャリッジリターン(C/R)、ラインフィード(L/F)を入れる事が可能です。文字のプロット後のペン位置は次の文字列の原点に移動します。
  LB文字列<ETX>
 <ETX>はエンドオフテキストコード、ASCIIコード十進数で3です。DT命令で別のコードに変えることができます。
 後述のCS,CA命令で 101 を定義するとLB命令の文字列に2バイトのJISコード日本語を使用できます。

DT(Define Terminator)命令
 LB,BL命令でラベルターミネータの文字を変更します。
  DT文字(,モード);
 HP-GLにはモードパラメータはありません。HP-GL/2にはあります。モードは0だとラベルターミネータがプリント文字の場合はプリントします。モード1だとプリント文字であってもプリントしません。HP-GL/2の初期値はモード1です。HP-GLは常にモード0と同じです。
 初期値の<ETX>エンドオフテキストコードに戻すには次を使用します。
  DT;

SI(Absolute Character Size)命令
 文字幅、高さを単位センチメートルで指定します。初期値は幅0.285cm、高さ0.375cmです。
  SI 文字幅,文字高さ;
 SI; は幅、高さを初期値に戻します。

SampleLBSI.hgl:
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
PU;PA0,0;
DT$,0;
SI0.5,0.8;
LBW0.5cm,H0.8cm$



目次に戻る

SR(Relative Character Size)命令
 文字幅をスケーリングポイントP1、P2間X距離の百分率で指定します。文字高さをP1、P2間Y距離の百分率で指定します。
  SI 文字幅,文字高さ;

SU(User Unit Character Size)命令
 文字幅、高さをユーザー座標系の単位で指定します。
  SU 文字幅,文字高さ;

SL(Character Slant)命令
 文字の垂直線からの傾きを正接角(tanθ)で指定します。
  SL tanθ;
 SL;は傾きをなくします。

SampleLBSL.hgl:
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
PU;PA0,0;
DT$;
SL0.5;LBSL0.5$
PA0,5;SL-0.5;LBSL-0.5$
PA0,10;SL;LBSL$



目次に戻る

DI(Absolute Direction)命令
 文字列の角度をrun(傾きの水平距離)、rise(傾きの垂直距離)で指定します。
  DI run,rise;
 DI; あるいは DI1,0; は角度を0度にします。
 DI1,1; は角度を45度にします。
 DI0,1; は角度を90度にします。
 DI-1,0; は角度を180度にします。

SampleLBDI.hgl:
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
PU;PA50,50;
DT$;
DI1,1;LB____DI1,1$
PA50,50;DI0,1;LB____DI0,1$
PA50,50;DI-1,0;LB____DI-1,0$
PA50,50;DI-1,-1;LB____DI-1,-1$
PA50,50;DI0,-1;LB____DI0,-1$
PA50,50;DI;LB____DI$



目次に戻る

DR(Relative Direction)命令
 文字列の角度をrun(傾きの水平距離をスケーリングポイントP1,P2のX距離の百分率)、rise(傾きの垂直距離をスケーリングポイントP1,P2のY距離の百分率)で指定します。
  DR run,rise;
 DR; は角度を0度にします。

DU(User Unit Direction)命令
 文字列の角度をrun(傾きの水平距離をユーザ座標系の単位)、rise(傾きの垂直距離をユーザ座標系の単位)で指定します。
  DU run,rise;
 DU; は角度を0度にします。

DV(Vertical Label Direction)命令
 文字を横書き、縦書きに切り替えます。
  DV n;
 nは0だと標準の横書きに、1だと縦書きになります。

SampleLBDV.hgl:
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
PU;PA50,50;
DT$;
DV1;LB____DV1$
PA50,50;DV;LB____DV$



目次に戻る

LO(Label origin)命令
 現在のペンの位置に対し文字をプロットする位置を指定します。
  LO 位置番号;
 位置番号に対し文字に対する現在のペンの位置は次のようになっています。
    左 中 右
  上 3 6 9 
  中 2 5 8
  下 1 4 7
 上記位置番号に10を足すと中中以外の位置が文字の外側にオフセットします。オフセット量はSIまたはSR命令で設定された文字幅の1/2と高さの1/2です。

SampleLBLO.hgl:
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
PU;PA0,0;PD50,0;
PU;PA0,8;PD50,8;
PU;PA0,16;PD50,16;
PU;PA0,0;PD0,16;
PU;PA25,0;PD25,16;
PU;PA50,0;PD50,16;
PU;SP2;
DT$;SI0.23,0.32;
PA0,0;LO1;LBLO1$
PA0,8;LO2;LBLO2$
PA0,16;LO3;LBLO3$
PA25,0;LO4;LBLO4$
PA25,8;LO5;LBLO5$
PA25,16;LO6;LBLO6$
PA50,0;LO7;LBLO7$
PA50,8;LO8;LBLO8$
PA50,16;LO9;LBLO9$
SP1;
PU;PA0,24;PD50,24;
PU;PA0,32;PD50,32;
PU;PA0,40;PD50,40;
PU;PA0,24;PD0,40;
PU;PA25,24;PD25,40;
PU;PA50,24;PD50,40;
PU;SP2;
PA0,24;LO11;LBLO11$
PA0,32;LO12;LBLO12$
PA0,40;LO13;LBLO13$
PA25,24;LO14;LBLO14$
PA25,32;LO15;LBLO15$
PA25,40;LO16;LBLO16$
PA50,24;LO17;LBLO17$
PA50,32;LO18;LBLO18$
PA50,40;LO19;LBLO19$



目次に戻る

CP(Character Plot)命令
 横方向、及び縦方向の指定した文字数だけペンを移動させます。横方向はプラスが右、マイナスが左、縦方向はプラスが上、マイナスが下に移動します。
  CP 横方向の文字数,縦方向の文字数;
 CP; はキャリッジリターンとラインフィードの動作を行います。

SampleLBCP.hgl:
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
PU;PA0,50;PD50,50;
DT$;SP2;
PU;PA0,50;CP2,0.3;LBPA0,50;CP2,0.3$
PA50,50;CP-2,-1;LBPA50,50;CP-2,-1$



目次に戻る

ES(Extra Space)命令
 文字の文字間隔、行間隔を調整します。文字間隔、行間隔はNCPセル(標準の1文字の空間を定めたもので、その大きさは英大文字の高さの2倍、幅の1.5倍です)の幅と高さを1とした比率です。0が標準で正の値は間隔を標準より広げ、負の値は標準より狭めます。
  ES 文字間隔(,行間隔);
 ES; は ES0,0; と同じで、標準の間隔に設定します。

SampleLBES.hgl:
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
PU;PA0,10;
DT$;
ES0.2,0.2;
LBES0.2,0.2
AAAAAAAAAAA$
PA0,50;
ES-0.2,-0.2;
LBES-0.2,-0.2
AAAAAAAAAAA$
PA0,30;
ES;
LBES0,0
AAAAAAAAAAA$



目次に戻る

BL(Buffer Label)命令
 ラベルバッファーにラベル用の文字列を最大150文字ストアします。キャリッジリターン、ラインフィードなどのコントロールコードを含むことが出来ます。バッファーにストアされた文字列はPB命令で何度でも書く事ができます。
  BL文字列<ETX>
 <ETX>はエンドオフテキストコード、ASCIIコード十進数で3です。DT命令で別のコードに変えることができます。
 BL; LB; はバッファーをクリアーします。
 新たなBL命令がくるとそれ以前のバッファーは書き換えられます。

PB(Print Bufferd Label)命令
 現在の位置を左下にしてラベルバッファーの文字列をプロットします。LO命令の位置は無視されます。
  PB;

SamplePBBL.hgl:
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
PU;PA0,10;PD60,10;PU;
DT$;
BLABCDEFG 012345
abcdefg 67890$
PA0,10;PB;



目次に戻る

CS(Designate Standard Character Set)命令
 標準文字セットに文字セットを指定します。
  CS 文字セット番号;
 文字セット番号は以下の通りです。
  8   を指定すると 1バイト(半角)のカタカナ
  101  を指定するとJISコードの漢字
  その他を指定するとASCIIの1バイト文字
 CS; は CS0; と同じです。

CA(Designate Alternate Character Set)命令
 補助文字セットに文字セットを指定します。
  CA 文字セット番号;
 文字セット番号は以下の通りです。
  8   を指定すると 1バイト(半角)のカタカナ
  101  を指定するとJISコードの漢字
  その他を指定するとASCIIの1バイト文字
 CA; は CA0; と同じです。

SS(Select Standard Character set)命令
 文字を書く時にCS命令でセットした標準文字セットを使用することを指定します。
  SS;
 なお、LB命令の中でシフトインコード<SI>(10進数で15)のコードを挿入するとSS命令と同じ効果となります。

SA(Select Alternate Character Set)命令
 文字を書く時にCA命令でセットした補助文字セットを使用することを指定します。
  SA;
 なお、LB命令の中でシフトアウトコード<SO>(10進数で14)のコードを挿入するとSA命令と同じ効果となります。

SampleLBCSCASSSA.hgl:
IN;IP0,0,4000,4000;SC0,100,0,100;SP1;
PU;PA0,0;
DT$;
CS0;CA101;
SA;
LBJ8;z
%;%C%H$
SS;
LB101$



注 漢字:シフトJISコード16進数:シフトJISコード文字
  文:4A38:J8
  字:3B7A:;z

目次に戻る
 

7.プロット領域の変更


IW(Input window)命令
 ここで指定した領域外への作画をクリッピングする時に使用します。クリッピング領域の左下点(x1,y1)と右上点(x2,y2)をプロッタ座標系の単位で指定します。
  IW x1,y1,x2,y2;
 IW; はクリッピングを解除し、プロッタのハード作画領域全体に作画します。

SampleIW.hgl:
IN;
IP-2000,-1000,2000,1000;
SC-2000,2000,-1000,1000;
SP1;
PUPA-2000,-1000;
PDPA2000,1000;
PUPA-2000,1000;
PDPA2000,-1000;
PUPA-2000,0;
PDPA2000,0;
PUPA0,-1000;
PDPA0,1000;
IW-1000,-500,1000,500;
SP2;
PUPA-2100,-1000;
PDPA2100,1000;
PUPA-2100,1000;
PDPA2100,-1000;
PUPA-2000,0;
PDPA2000,0;
PUPA0,-1000;
PDPA0,1000;



目次に戻る

RO(Rotate Coodinate System)命令
 プロッタの座標系を90度回転させます。
  RO90;
 RO; あるいは RO0; は回転しない状態に戻します。

SampleRO.hgl:
RO90;
SP1;
PU;PA0,0;PD;PA4000,0,2000,2000,2000,-2000,PA4000,0;
RO;
SP2;
PU;PA0,0;PD;PA4000,0,PA2000,2000,PA2000,-2000,PA4000,0;



目次に戻る
8.プロッタ制御

PG(Page)命令
 用紙を送ります。
  PG;

AF(Advance Full Page)命令
 用紙を送ります。
  AF;

NR(Not Ready)命令
 プロッタをNot ready状態にします。
  NR;

PS(Paper Size)命令
 用紙サイズを指定します。
  PS n;
 nは次の範囲を指定します。
  4〜127 A4サイズ
  0〜3  A3サイズ
 なお、次のようにプロッタ座標系の単位で用紙の長さと幅を指定する方法もあります。
  PS 長さ(,幅);

目次に戻る
 

9.問合せ先


       

目次に戻る