GRAファイル

概要


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

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

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ファイルの識別子である次の文字列でなければなりません。

%Ngraph GRAF

第2行以降は1行に1つずつグラフィックスコマンドが記述されます。グラフィックスコマンドの形式を示します。

command, n, arg1, arg2, ..., argn

コマンドの区切りにはスペース, タブ, コンマが使えます。 ただしcommandが%, F, S の場合には次のようにコマンド直後に 文字列の引数(下の例ではthis is a string)を記述します。

Sthis 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,4,arg1,arg2,arg3,arg4
arg1
R(8bit)
arg2
G(8bit)
arg3
B(8bit)
arg4
A(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:円弧内部を塗りつぶす
  • 3:扇形に輪郭を描画
  • 4:弓形に輪郭を描画
コマンド機能書式
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
コマンド機能書式
Hフォントメトリック指定命令H,4,arg1,arg2,arg3,arg4
arg1
文字のポイントサイズ, 0.01pt単位(1pt=1/72inch)
arg2
文字スペーシング・ポイント量, 0.01pt単位
arg3
描画方向, X軸から反時計回りに0.01度単位
arg4
スタイル, 0:normal, 1: bold, 2:italic の和
コマンド機能書式
S文字列描画命令Sstring