GRAファイル


  概要
GRAファイルは, 直線, 円などのグラフィックス命令を記述した, グラフのマージ等に使われるNgraph独自のファイル形式です。

また、External driverへグラフィックス命令を送るのにも使われます。

DOS版NgraphとのGRAファイルの互換性



  GRAファイルの構造
下にGRAファイルの例を示します。
%Ngraph GRAF
%Creator: Ngraph ver 6.00.01
I,5,0,0,21000,29700,10000
V,5,0,0,21000,29700,1
G,3,0,0,0
A,5,0,40,2,0,1000
L,4,3500,22000,17500,22000
L,4,3500,22000,3500,8000
L,4,3500,8000,17500,8000
L,4,17500,22000,17500,8000
E,0

GRAファイルの第一行はGRAファイルの識別子である でなければなりません。

第2行以降は1行に1つずつグラフィックスコマンドが記述されます。グラフィックスコマンドの形式を示します。
コマンドの区切りにはスペース, タブ, コンマが使えます。
ただしcommandが%, F, S, Kの場合には のようにコマンド直後に文字列の引数(上の例ではthis is a string)を記述します。 この場合, 文字列引数の中のスペース・タブ・コンマは通常の文字として扱われます。



  GRAファイルのグラフィックコマンド
グラフィックコマンドの引数は特に指定のない限り単位は0.01mmです。 X座標増加方向は右, Y座標増加方向は下です。 数値引数はすべて整数値でなければなりません。

コマンド機能書式
I初期化命令I,5,arg1,arg2,arg3,arg4,arg5
arg1 左マ−ジン
arg2 上マ−ジン
arg3 出力用紙幅
arg4 出力用紙高
arg5 拡大率(0.01%単位)

コマンド機能書式
E終了命令E,0

コマンド機能書式
%コメント%comment

コマンド機能書式
Vクリッピング領域, 原点移動命令V,5,arg1,arg2,arg3,arg4,arg5
arg1 左上X座標, 新しいX座標原点
arg2 左上Y座標, 新しいY座標原点
arg3 右下X座標
arg4 右下Y座標
arg5 0:クリッピングオフ 1:クリッピングオン

コマンド機能書式
A線属性指定命令A,n,arg1,arg2,....
n: 点線要素の数+5
arg1 0:実線 >1:点線要素の数
arg2 線幅
arg3 線端形状 0:Butt 1:Round 2:Projecting
arg4 線交差形状 0:Miter 1:Round 2:Bevel
arg5 Miter limit
arg(i)-arg(i+5) i=1-arg1 点線要素

コマンド機能書式
Gカラ−指定命令G,3,arg1,arg2,arg3
arg1 R(8bit)
arg2 G(8bit)
arg3 B(8bit)

コマンド機能書式
Mカレントポイント移動命令M,2,arg1,arg2
arg1 X座標
arg2 Y座標

コマンド機能書式
Nカレントポイント相対移動命令N,2,arg1,arg2
arg1 X方向移動量
arg2 Y方向移動量

コマンド機能書式
L線描画命令L,4,arg1,arg2,arg3,arg4
arg1 始点X座標
arg2 始点Y座標
arg3 終点X座標
arg4 終点Y座標

コマンド機能書式
Tカレントポイント相対・線描画命令T,2,arg1,arg2
arg1 終点X座標, 新しいカレントポイントX座標
arg2 終点Y座標, 新しいカレントポイントY座標

コマンド機能書式
C楕円描画命令C,7,arg1,arg2,arg3,arg4,arg5,arg6,arg7
arg1 中心のX座標
arg2 中心のY座標
arg3 X方向半径
arg4 Y方向半径
arg5 楕円弧開始角度, 0.01度単位(0-36000)
arg6 楕円弧角度, 0.01度単位(0-36000)
arg7 0:円の輪郭(内部は塗りつぶさない) 1:扇形内部を塗りつぶす 2:円弧内部を塗りつぶす

コマンド機能書式
B四角形描画命令B,5,arg1,arg2,arg3,arg4,arg5
arg1 X座標
arg2 Y座標
arg3 対角のX座標
arg4 対角のY座標
arg5 0:四角形の輪郭(内部は塗りつぶさない)1:内部を塗りつぶす

コマンド機能書式
P点描画命令P,2,arg1,arg2
arg1 X座標
arg2 Y座標

コマンド機能書式
R多角形描画命令R,n,arg1,arg2,...
n 座標点の数*2+1
arg1 座標点の数
arg(i*2+0) i=1-arg1 X座標
arg(i*2+1) i=1-arg1 Y座標

コマンド機能書式
D閉多角形描画命令D,n,arg1,arg2,...
n 座標点の数*2+2
arg1 座標点の数
arg2 0:多角形の輪郭(内部は塗りつぶさない) 1:内部を塗りつぶす(EvenOddRule) 2:内部を塗りつぶす(WindingRule)
arg(i*2+1) i=1-arg1 X座標
arg(i*2+2) i=1-arg1 Y座標

コマンド機能書式
Fフォント選択命令Ffont
文字列引数(font フォントエイリアス名)

コマンド機能書式
Hフォントメトリック指定命令H,3,arg1,arg2,arg3
arg1 文字のポイントサイズ, 0.01pt単位(1pt=1/72inch)
arg2 文字スペーシング・ポイント量, 0.01pt単位
arg3 描画方向, X軸から反時計回りに0.01度単位

コマンド機能書式
S英数字描画命令Sstring
文字列引数 (string 英数字文字列)

コマンド機能書式
K漢字描画命令Kstring
文字列引数(string 漢字文字列)