スポンサーリンク

GRN

名称
書式
解説
grn コマンド
groff に関しての注意
gremlin ファイル形式
要素の記述
座標についての注意
SUN/X11 バージョンの座標についての注意
関連ファイル
関連項目
歴史

名称

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’ 中に置くことで適切な位置決めができるようになります。

grntroff の番号レジスタ g1 から g9 までを使い、そして .GS リクエ ス トを処理する前にレジスタ g1 および g2gremlin 図の幅および高さ (デバ イス単位) を設定します (これらのマクロを書き直したいと思っている人た ち のためにそうしています)。

gremlin ファイル形式

gremlin ファイル形式には 2 つの異なった形式があります。 AED グラフィッ ク端末用バージョン由来のオリジナルの形式と SUN および X11 バージョン の 形式です。負の座標を用いた参照点を容認する SUN/X11 バージョンの拡張機能 は、 AED バージョンとは互換性が ありませんgremlin ファイルに負の座標 が 含 まれていない限りは、どちらの形式のファイルも gremlin あるいは grn で読み込むことができます。他に SUN/X11 の形式が異なる点は、図のオブジェ ク トに対して番号を使うのではなく、名前 (例えば、POLYGON, CURVE) を使う ことです。同じ図を表すファイルを、それぞれの形式について 表 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’’ を 持っ た行がきます。

127 文字を越える行はこの長さに切り詰められます。

要素の記述

各要素の最初の行には、要素タイプを与える 10 進数 (AED バー ジョンの場合) あるいは要素の ASCII 文字での名称 (SUN/X11 バー ジョンの場合) が 1 つ含まれています。表 2 を参照してください。

オブジェクトタイプの後には、可変数の行がきます。各行は、オブ ジェクトの要素を表示するのに使われる点を指定します。各行には、x 座標および y 座標が浮動小数値で入っており、それぞれは空白文字で 区切られています。点のリストは、文字列 ‘‘-1.0 -1.0’’ を含んだ行 (AED バージョンの場合) あるいはアスタリスク ‘‘*’’ 1 個 (SUN/X11 バージョンの場合) で終わります。

点の後には、10 進数 2 個を含んだ行がきます。これは、要素に対 す るブラシとサイズを与えます。ブラシは、オブジェクトが描かれる 際のスタイルを決定します。ベクトル、円弧、および曲線に つ い て は、ブラシの値として 6 個の正当な値があります:

ポリゴンに対しては、さらに 0 も正当な値となります。この値は、境 界線の見えないポリゴンを指定するものです。テキストに対して は、 ブラシは次のようにフォントを選択します:

図 を groff に通すために grn を使っている場合は、ここでのフォン トはただ開始時のフォントになるだけです: テキスト文字 列 に は、 ‘‘\fI’’ や ‘‘\d’’ のような、フォントを変更し得る (他のこともす る) フォーマット用シーケンスを含んでも構いません。テキ ス ト で は、 サイズフィールドは 1 から 4 までの 10 進数です。これは、テ キストが描画されるフォントサイズを選択します。ポリゴンに対し て は、 このサイズフィールドはポリゴン内部を埋めるために使われるス ティプル番号と解釈されます。この番号は、表示する際にスティプ ル フォントに置き換えるインデックスとして使われます。

各要素の最終行には、10 進数と文字列が空白文字 1 つで区切られ て入っています。 10 進数は、文字列中の文字数をカウントしたも の で す。この情報はテキスト要素に対してのみ使われ、テキスト文字列 が情報の中に含まれています。テキスト内部には空白文字が入って い て も良いです。円弧、曲線、およびベクトルについては、それぞれの 要素が対応する行には文字列 ‘‘0’’ が入っています。

座標についての注意

gremlinAED 用に設計され、その座標系は 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 上で表示させようとすると問題が 発生するでしょう

関連ファイル

/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 用に書き直しました。

スポンサーリンク