GRN
Section: User Commands (1)
Updated: 6 August 2001
Index
JM Home Page
roff page
名称
grn - gremlin ファイル用 groff プリプロセッサ
書式
grn
[
-Cv
]
[
-Tdev
]
[
-Mdir
]
[
-Fdir
]
[
file...
]
コマンドラインオプションとパラメータの間に空白を含めることが可能です。
解説
grn
は、
groff
の入力中に
gremlin
図を入れるためのプリプロセッサです。
grn
は、
.GS
と
.GE
の間にはさまれた入力行のみを処理し、標準出力に書き出します。
処理される行には
grn
コマンド (後述) が含まれていなくてはなりません。
これらのコマンドは、
gremlin
ファイルを要求し、そのファイル中の図を変換し
troff
の入力ストリームに置きます。
.GS
リクエストは、続けて C, L, R をとることができ、
gremlin
図全体を中央揃え、左揃え、あるいは右揃えにすることができます
(デフォルトは中央揃えです)。
file
が指定されていない場合は、標準入力が読み込まれます。
図の最後では、ページ内での位置は
gremlin
図の下になります。
grn
エントリが
.GE
ではなく
.GF
で終わっている場合は、ページ内での位置は図の左上になります。
現在のところ、-me マクロパッケージだけが
.GS,
.GE,
.GF
をサポートしていることに注意してください。
次のコマンドラインオプションを理解します:
- -Tdev
-
プリンタ
dev
用の出力を用意します。
デフォルトのデバイスは
ps
です。受け付け可能なデバイスについては
groff(1)
を参照してください。
- -Mdir
-
dir
を、
gremlin
ファイルのデフォルト検索パスの前に追加します。
デフォルトパスは (順番に)、現在のディレクトリ、ホームディレクトリ、
/usr/share/tmac,
/usr/share/tmac,
/usr/share/tmac
(訳注: 重複していますが原文通りです) です。
- -Fdir
-
dir
中からサブディレクトリ
devname
(name
はデバイス名です) を探し、通常の
/usr/share/groff_font
の前に読み込まれる
DESC
ファイルを探します。
- -C
-
たとえ空白や改行以外の文字が後に続いていても
.GS
および
.GE
(およびこれに相応する
.GF)
を認識します。
- -v
-
バージョン番号を表示します。
grn コマンド
.GS
と
.GE
にはさまれた入力行はそれぞれ 1 つずつ
grn
コマンドを持っています。
コマンドは、1 つの文字列か、空白で区切られた 2 つの文字列で
できています。最初の文字列はコマンドであり、2 番目の文字列は
オペランドです。
コマンドは大文字小文字どちらでも良く、1 文字までに縮めることもできます。
図の環境に影響を与えるコマンド (以降において
default
の前にリストされているもの) は、現在の図に対して
のみ効果を持ちます。
次の図が始まると、環境はデフォルトで再初期化されます。
コマンドは次のとおりです:
- 1 N
-
-
2 N
-
-
3 N
-
-
4 N
gremlin
のテキストサイズ番号 1 (2, 3 または 4) を
N
ポイントに設定します。
デフォルトは 12 (16, 24, 36) です。
- roman f
-
-
-
italics f
-
-
bold f
-
-
special f
ローマン体 (イタリック体、ボールド体、あるいは特殊文字) の
フォントを
troff
フォント
f
(フォント名あるいは番号) に設定します。
デフォルトは R (I, B, S) です。
- l f
-
-
-
stipple f
スティプル (stipple) フォントを
troff
のスティプルフォント
f
(フォント名あるいは番号)
に設定します。
コマンド
stipple
は、`st' までになら省略できます
(
special
との混乱を避けるためです)。
スティプルフォントにはデフォルトは
ありません
(default コマンドで設定されていない限りは)。
スティプルフォントを指定しないまま、ポリゴンを含んだ
gremlin
図を取り込むことは不正です。
- x N
-
-
-
scale N
(デフォルトの拡大処理に加えて) gremlin 図を
N
倍に拡大します。ここで N は 0 より大きな浮動小数値です。
コマンド
scale
は、`sc' までになら省略できます。
- narrow N
-
-
-
medium N
-
-
thick N
細線 (中間の太さの線、および太線) の太さを
- 0.15 ポイント (この値は、コンパイル時に変更できます) の
N
倍に設定します。
デフォルトは 1.0 (3.0, 5.0) です。これは、0.15 ポイント
(0.45 ポイントおよび 0.75 ポイント) に対応しています。
太さを表す値が 0 のときは、使用できる中で最も小さな値を
選択します。
負の値は、現在のポイントサイズに比例した、線の太さの指定になります。
- pointscale <off/on>
-
テキストを図に合うようにスケーリングします。
gremlin テキストは、通常、図のスケールファクタによらず、
コマンド
1, 2, 3, あるいは 4
で指定されるポイントサイズで表示されます。
pointscale
を設定すると、ポイントサイズが図に合わせて変更されます
(もちろん、
troff
の制限内で)。
off
以外のオペランドは何であっても
テキストのスケーリングを有効にします。
- default
-
デフォルトの図の環境を、現在の図の環境で、再設定します。
このオプションは、
troff
入力ファイルの先頭でグローバルパラメータを設定するメカニズムとして
使われることを意図していますが、デフォルト設定を再設定したいときは
いつでも使うことができます。
- width N
-
図を強制的に幅
N
インチにします。
このオプションは、同じ図中に存在する他のスケールファクタに優先します。
`width
0'
は、無視されます。
- height N
-
他のスケールファクタに優先して、図を強制的に高さ
N
インチにします。
`width' と `height' 両方が指定されているときには、
図をより小さくする制約が図のスケールを決定します。
height
および
width
コマンドは、
default
コマンドでは保存はされません。
しかしながら、
ポイントサイズスケーリングが使用されている場合には、
これに対する影響はあります。
- file name
-
カレントディレクトリ (あるいはライブラリディレクトリ。前述の
-M
オプションを参照してください) に置かれた
gremlin
ファイル
name
から図を取得します。
file
コマンドが 2 つ与えられた場合、2 つめのコマンドが最初のコマンドに優先します。
name
が存在しない場合は、エラーメッセージが報告され、
.GE
行から処理が再開されます。
groff に関しての注意
grn
はプリプロセッサですので、現在のインデントやポイントサイズ、
余白や番号レジスタなどについては分かりません。
そのため、
.GS
リクエストと
.GE
リクエストの間には
troff
への入力を置くことができません。
しかしながら、
gremlin
テキストは現在
troff
で処理されます。そのため、
gremlin
テキスト行にある
troff
への入力行はどれも正しいものになります (ただし、
行頭に `.' ディレクティブを置くことは禁止されています)。
そのため、
gremlin
ファイル中に
定義済みのデリミタ (例えば
$$)
で括った
eqn
表記を埋め込むことによって、
gremlin
図の中に等式を書くことができます。
grn
を他のプリプロセッサと一緒に使う場合、
tbl
が仕事をしすぎないようにするために、
grn,
pic,
ideal
よりも前に
tbl
を呼び出すのが最も良いやり方です。
eqn
は必ず最後に起動させるべきです。
図はひとつのエンティティとみなされますが、
ページの末尾を越えてしまった場合、
troff
は図を分割しようとしてしまいます。
-me マクロ中で図を `keeps' 中に置くことで
適切な位置決めができるようになります。
grn
は
troff
の番号レジスタ
g1
から
g9
までを使い、そして
.GS
リクエストを処理する前にレジスタ
g1
および
g2
に
gremlin
図の幅および高さ (デバイス単位) を設定します
(これらのマクロを書き直したいと思っている人たちのために
そうしています)。
gremlin ファイル形式
gremlin
ファイル形式には 2 つの異なった形式があります。
AED
グラフィック端末用バージョン由来のオリジナルの形式と
SUN
および
X11
バージョンの形式です。
負の座標を用いた参照点を容認する
SUN/X11
バージョンの拡張機能は、
AED
バージョンとは互換性が
ありません
。
gremlin
ファイルに負の座標が含まれていない限りは、どちらの形式のファイルも
gremlin
あるいは
grn
で読み込むことができます。
他に
SUN/X11
の形式が異なる点は、図のオブジェクトに対して番号を
使うのではなく、名前 (例えば、POLYGON, CURVE) を使うことです。
同じ図を表すファイルを、それぞれの形式について 表 1 に示します。
sungremlinfile | | gremlinfile
|
0 240.00 128.00 | | 0 240.00 128.00
|
CENTCENT | | 2
|
240.00 128.00 | | 240.00 128.00
|
185.00 120.00 | | 185.00 120.00
|
240.00 120.00 | | 240.00 120.00
|
296.00 120.00 | | 296.00 120.00
|
* | | -1.00 -1.00
|
2 3 | | 2 3
|
10 A Triangle | | 10 A Triangle
|
POLYGON | | 6
|
224.00 416.00 | | 224.00 416.00
|
96.00 160.00 | | 96.00 160.00
|
384.00 160.00 | | 384.00 160.00
|
* | | -1.00 -1.00
|
5 1 | | 5 1
|
0 | | 0
|
-1 | | -1
|
|
表 1. ファイル例
|
- •
-
それぞれの
gremlin
ファイルの 1 行目は、
文字列
gremlinfile
(AED
バージョン) あるいは
sungremlinfile
(SUN/X11バージョン)
のどちらかです。
- •
-
ファイルの 2 行目には点の位置を決めるための、方向、
x
および
y
の値が含まれており、各値は空白で区切られています。
方向は、
0
あるいは
1
をとり、
SUN/X11
バージョンでは無視されます。
0
は、
gremlin
図が水平方向の形式で表示されることを意味しています
(描画領域の幅が実際の図の高さよりも広くとられ、
上部にメニューがつきます)。
1
は、
gremlin
図が垂直方向の形式で表示されることを意味しています
(描画領域の高さが実際の図の幅よりも高くとられ、
左側にメニューがつきます)。
x
および
y
は浮動小数値であり、このファイルが他のファイルに読み込まれる
際に、位置決め点を与えるために使用されます。
この行の要素は、それほど重要なものではありません。
``1 0.00 0.00'' という値を推奨します。
- •
-
このファイルの残りの部分は 0 個以上の要素を
記述したものになっています。
最後の要素を記述した後には、文字列 ``-1'' を持った行がきます。
要素の記述
- •
-
各要素の最初の行には、要素タイプを与える 10 進数
(AED
バージョンの場合) あるいは要素の ASCII 文字での名称
(SUN/X11
バージョンの場合)
が 1 つ
含まれています。
表 2 を参照してください。
gremlin ファイルフォーマット - オブジェクトタイプの仕様
|
AED 番号 | SUN/X11 名称 | 解説
|
0 | BOTLEFT | 左下揃えのテキスト
|
1 | BOTRIGHT | 右下揃えのテキスト
|
2 | CENTCENT | 中央揃えのテキスト
|
3 | VECTOR | ベクトル
|
4 | ARC | 円弧
|
5 | CURVE | 曲線
|
6 | POLYGON | ポリゴン
|
10 | TOPLEFT | 左上揃えのテキスト
|
11 | TOPCENT | 中央上揃えのテキスト
|
12 | TOPRIGHT | 右上揃えのテキスト
|
13 | CENTLEFT | 左中央揃えのテキスト
|
14 | CENTRIGHT | 右中央揃えのテキスト
|
15 | BOTCENT | 中央下揃えのテキスト
|
|
表 2.
|
gremlin ファイルにおける要素タイプの仕様
|
- •
-
オブジェクトタイプの後には、可変数の行がきます。
各行は、オブジェクトの要素を表示するのに使われる点を指定します。
各行には、x 座標および y 座標が浮動小数値で入っており、
それぞれは空白文字で区切られています。
点のリストは、文字列 ``-1.0 -1.0'' を含んだ行
(AED
バージョンの場合) あるいはアスタリスク ``*'' 1 個
(SUN/X11
バージョンの場合) で終わります。
- •
-
点の後には、10 進数 2 個を含んだ行がきます。これは、
要素に対するブラシとサイズを与えます。
ブラシは、オブジェクトが描かれる際のスタイルを決定します。
ベクトル、円弧、および曲線については、ブラシの値として
6 個の正当な値があります:
1 - | | 細い点線
|
2 - | | 細い一点鎖線
|
3 - | | 太い直線
|
4 - | | 細い破線
|
5 - | | 細い直線
|
6 - | | 通常の直線
|
ポリゴンに対しては、さらに 0 も正当な値となります。
この値は、境界線の見えないポリゴンを指定するものです。
テキストに対しては、ブラシは次のようにフォントを選択します:
1 - | | ローマン体 (groff での R フォント)
|
2 - | | イタリック体 (groff での I フォント)
|
3 - | | ボールド体 (groff での B フォント)
|
4 - | | 特殊文字 (groff での S フォント)
|
図を
groff
に通すために
grn
を使っている場合は、
ここでのフォントはただ開始時のフォントになるだけです:
テキスト文字列には、
``\fI''
や
``\d''
のような、フォントを変更し得る (他のこともする)
フォーマット用シーケンスを含んでも構いません。
テキストでは、サイズフィールドは 1 から 4 までの
10 進数です。
これは、テキストが描画されるフォントサイズを選択します。
ポリゴンに対しては、このサイズフィールドはポリゴン内部を
埋めるために使われるスティプル番号と解釈されます。
この番号は、表示する際にスティプルフォントに置き換える
インデックスとして使われます。
- •
-
各要素の最終行には、10 進数と文字列が空白文字 1 つで
区切られて入っています。
10 進数は、文字列中の文字数をカウントしたものです。
この情報はテキスト要素に対してのみ使われ、
テキスト文字列が情報の中に含まれています。
テキスト内部には空白文字が入っていても良いです。
円弧、曲線、およびベクトルについては、それぞれの要素が対応する行には
文字列 ``0'' が入っています。
座標についての注意
gremlin
は
AED
用に設計され、その座標系は
AED
の座標空間を反映したものになっています。
垂直方向の図に対しては、x 値は 116 から 511 までをとり、
y 値は 0 から 483 までをとります。
水平方向の図に対しては、 x 値は 0 から 511 までをとり、
y 値は 0 から 367 までをとります。
この範囲に必ずしもこだわることはありませんが、
少なくともこの近傍にとどめておけば最良の結果が
得られるでしょう。
さらに、点のリストは (-1, -1) で終わりますので、
負の座標を使うことはできません。
gremlin
図は、``%f1.2'' という形式を使って座標を出力します。
ですので、
grn
コードを変更したい場合には同じ形式を用いるのが
おそらくは良い考えでしょう。
SUN/X11 バージョンの座標についての注意
SUN/X11
バージョンの
gremlin
図では、オブジェクト生成に用いられる座標の範囲に
制限はもうありません。
しかし、負の座標を持ったファイルでは、
AED
上で表示させようとすると問題が
発生するでしょう
。
関連ファイル
u+3n
-
-
/usr/share/groff_font/devname/DESC
デバイス
name
用のデバイス定義ファイル
関連項目
gremlin(1),
groff(1),
pic(1),
ideal(1)
歴史
David Slattengren と Barry Roitblat がオリジナルの Berkeley 版
grn
を書きました。
Daniel Senderowicz と Werner Lemberg が
groff
用に書き直しました。
Index
- 名称
-
- 書式
-
- 解説
-
- grn コマンド
-
- groff に関しての注意
-
- gremlin ファイル形式
-
- 要素の記述
-
- 座標についての注意
-
- SUN/X11 バージョンの座標についての注意
-
- 関連ファイル
-
- 関連項目
-
- 歴史
-
This document was created by
man2html,
using the manual pages.
Time: 03:33:24 GMT, December 05, 2022