スポンサーリンク

GROPS

名称
書式
解説
オプション
使用法
環境変数
関連ファイル
関連項目

名称

grops − groff 用 PostScript ドライバ

書式

grops [ −glmv ] [ −bn ] [ −cn ] [ −Fdir ] [ −ppapersize ] [ −Pprologue ] [ −wn ] [ files... ]

コマンドラインオプションとパラメータの間に空白を含めることが可能です。

解説

grops は GNU troff の出力を PostScript に変換します。 通 常 grops は groff コマンドを −Tps オプション付きで起動した時に起動されます。 (groff のデフォルトです。) ファイルを指定しないと、 grops は標準入力を読 み ま す。ファイル名 を指定しても、 grops は標準入力を読みます。 PostScript 出力は標準出力に書きます。 gropsgroff から起動する場合、 groff −P により、オプションを grops に渡せます。

オプション

−bn

不 良なスプーラとプレビュアのための対処をします。通常、 grops は Document Structuring Conventions version 3.0 を満た す PostScript LanguageLevel 2 出力を生成します。このような出力を扱 えない古いプリンタ、スプーラ、プレビュアがあります。値 n は、不 良プログラムが受理可能な出力を grops が行うように制御します。値 0 は grops に何も対処しないようにさせます。

%%BeginDocumentSetup%%EndDocumentSetup のコメントを生成し て は な ら な い 場合 1 を加えます; 初期バージョンの TranScript は %%EndProlog コメントと最初の %%Page コメントとの間で混乱させられ ましたので、これが必要です。

イ ンクルードされたファイルで %! から始まる行を取り除かねばなら ない時には 2 を加えます; Sun の pageview プレビュアで必要です。

インクルードされたファイルから %%Page, %%Trailer, %%EndProlog コ メントを取り除かねばならない時には 4 を加えます; %%BeginDocument%%EndDocument のコメントを理解しないスプーラに対して 必 要 で す。

PostScript 出 力 の 最 初 の 行 が %!PS-Adobe-3.0 で はなく %!PS-Adobe-2.0 でなければならない時には 8 を加えま す; Sun の Newsprint をページ逆順を要求するプリンタと共に使用する時に必要で す。

媒体の大きさ情報を文書に含めてはならない時には 16 を加えます (す な わち %%DocumentMediasetpagedevice PostScript コマンドも使 用しないということです)。これは、groff バージョン 1.18.1 以前 の 動作です。 PostScript LanguageLevel 2 を理解しない古いプリンタで は必要です。

デフォルト値は

broken n

コマンドを DESC ファイルに記述することで指定可能です。そうでない 場合はデフォルト値は 0 です。

−cn

各ページを n 部ずつ印刷します。

−Fdir

序文、フォント、デバイス記述ファイルの検索パスの前に、 ディレクトリ dir/devname を追加します。 name はデバイス名 で あ り、通常 ps です。

−g

ページ長を予測します。ページ長を予測する PostScript コード を生成します。イメージ領域が垂直位置でページの中心に有 る 時 の み、 予 測 は 正 しいはずです。このオプションにより、変更無しで letter (8.5×11) と A4 の両方に印刷可能な文書を生成可能です。

−l

文書をランドスケープ形式にて印刷します。

−m

文書に対し手動フィードを有効にします。 −ppaper-size 出力 媒 体 の 物 理 的 な大きさを設定します。これは、 DESC ファイル中の papersize, paperlength, paperwidth のコマンドに優先します。これ は、 papersize コ マ ン ド と 同じ引数を受け付けます。詳細は groff_font (5) を参照してください。

−Pprologue-file

(フォントパス中の) ファイル prologue-file を、デフォルトの序 文 ファ イル prologue の代りに、序文として使用します。本オプション は、環境変数 GROPS_PROLOGUE に優先します。

−wn

線の太さを M の横幅 (em) の 1000 分の n にて描画します。本 オプションを指定しないと、線の太さは 0.04 em になります。

−v

バージョン番号を表示します。

使用法

R, I, B, BI と呼ばれるスタイルがフォント位置 1 から 4 までにマウントさ れます。フォントはファミリ A, BM, C, H, HN, N, P, T にまとめられ、こ れ らのスタイル中にメンバを持ちます:

AR

AvantGarde-Book

AI

AvantGarde-BookOblique

AB

AvantGarde-Demi

ABI

AvantGarde-DemiOblique

BMR

Bookman-Light

BMI

Bookman-LightItalic

BMB

Bookman-Demi

BMBI

Bookman-DemiItalic

CR

Courier

CI

Courier-Oblique

CB

Courier-Bold

CBI

Courier-BoldOblique

HR

Helvetica

HI

Helvetica-Oblique

HB

Helvetica-Bold

HBI

Helvetica-BoldOblique

HNR

Helvetica-Narrow

HNI

Helvetica-Narrow-Oblique

HNB

Helvetica-Narrow-Bold

HNBI

Helvetica-Narrow-BoldOblique

NR

NewCenturySchlbk-Roman

NI

NewCenturySchlbk-Italic

NB

NewCenturySchlbk-Bold

NBI

NewCenturySchlbk-BoldItalic

PR

Palatino-Roman

PI

Palatino-Italic

PB

Palatino-Bold

PBI

Palatino-BoldItalic

TR

Times-Roman

TI

Times-Italic

TB

Times-Bold

TBI

Times-BoldItalic

ファミリのメンバではない以下のフォントもあります:

ZCMI

ZapfChancery-MediumItalic

PS Symbol フォント用の S および PS Symbol から取られた斜体小文字のギリ シャ文字を含む SS と呼ばれる特別なフォントも有ります。 Zapf Dingbats は ZD として、逆バージョンの ZapfDingbats (シンボルが逆向き) は ZDR として 使用可能です; これらのフォントのほとんどの文字は名前が無い の で、 \N. にてアクセスせねばなりません。

\m\M のデフォルト色は黒です。 ‘rgb’ 色空間中で定義される色には setrgbcolor を使用し、‘cmy’ と ‘cmyk’ には setcmykcolor を、‘gray’ には setgray を使用します。 setcmykcolor は PostScript LanguageLevel 2 コマ ンドであり、古いプリンタでは使えません。

grops\X エスケープシーケンスにより生成された様々な X コマンドを理解 します; gropsps: タグから始まるコマンドのみを翻訳します:

\X’ps: exec code

code 中の任意の PostScript コマンドを実行します。 code 実行前に PostScript の現在位置は \X の位置に設定されます。原点はページの 左 上 に なり、y 座標はページを下ると増加します。プロシージャ u は、groff の単位を有効な座標系のものに変更するように定義され ま す。例えば、

.nr x 1i
\X’ps: exec \nx u 0 rlineto stroke’

は 1 インチ長の水平線を描画します。 code はグラフィックステート を変更し得ますが、ページの終端までしか継続しません。 defmdef に よ り指定される定義を含む辞書は、辞書スタックの頭に有るでしょ う。あなたのコードが こ の 辞 書 に 定 義 を 付 加 す る な ら、 \X’ps mdef n. を使用して、そのための空間を割り当てる必要が有り ます。定義はページの終りまでしか継続しません。 \Y エスケープシー ケンスをマクロを名付ける引数と共に使うと、 code を複数行に渡らせ ることが出来ます。例えば、

.nr x 1i
.de y
ps: exec
\nx u 0 rlineto
stroke
..
\Yy

は 1 インチ長の水平線を描画する別の方法です。

\X’ps: file name

exec コマンドと同様ですが、コードをファイル name から読みます。

\X’ps: def code

code の PostScript 定義をプロログ部に置きます。 \X コマンドに対 し最大 1 定義までです。長い定義は複数の \X コマンドに渡り分割で き ま す; 全ての code 引数は、改行で区切られ、単純に連結されま す。定義は、 exec コマンド実行時に辞書スタックに自動 的 に プッ シュ される辞書に置かれます。 \Y エスケープシーケンスをマクロを 名付ける引数と共に使うと、 code を複数行に渡らせることが出来 ま す。

\X’ps: mdef n code

def と同様ですが、 coden 個まで定義を保持し得ます。 grops は何個の定義を code が含むのかを知る必要が有るので、これらを 含 む適切な大きさの PostScript 辞書を生成できます。

\X’ps: import file llx lly urx ury width [ height ]

PostScript グ ラ フィックスを file からインポートします。引数 llx, lly, urx, ury は、デフォルトの PostScript 座標系におけるグ ラ フィックのバウンディングボックスを与えます; すべて整数である 必要が有ります; llxlly はグラフィックの左下の x y 座標です; urxury はグラフィックの右上の x y 座標です; widthheight は整数であり、groff の単位でグラフィックの幅と高さを与えま す。 グ ラフィックは延び縮みして、この幅と高さになり、グラフィックの 左下角は \X コマンドにて関連づけられた場所に位置しま す。 引 数 height を省略すると、x y 方向が同等に縮尺され、指定した幅になり ます。 \X コマンドの内容は troff が解釈しないことに注意して下さ い; グ ラフィックのための垂直方向の空白は自動的に付加されず、 widthheight の引数にスケーリングインジケータを付加するこ と は 許 さ れ ま せ ん。 PostScript ファ イルが Adobe Document Structuring Conventions から成り、 %%BoundingBox コメントを含む 場 合、 psbb リクエスト実行により、groff 中でバウンディングボッ クスを自動的に取得可能です。

PostScript グラフィックスの高レベルインタフェース を 提 供 す る PSPIC マクロについては、 groff_tmac(5) を参照してください。

\X’ps: invis’

\X’ps: endinvis’

こ れらの \X コマンドにて囲まれたテキストと描画コマンドは出力を 生成しません。このコマンドは、 troff の出力を grops で処理す る 前 に見るために有ります; プレビュアがある文字または構造を表示で きない時、これらの \X コマンドで囲むことにより、代わりの文字 ま たは構造をプレビュー用に使えます。

例 え ば、標準の X11 フォントには含まれませんので、 gxditview\(em 文字を正しく表示できません; この問題は以下のリクエストを 実 行することにより解決できます。

.char \(em \X’ps: invis’\
\Z’\v’-.25m’\h’.05m’\D’l .9m 0’\h’.05m’’\
\X’ps: endinvis’\(em

こ の 場 合、 gxditview\(em 文字を表示できず線を引きますが、 grops\(em 文字を印刷し線を無視します (このコードはファ イ ル Xps.tmac 中にあります。 grops 用の文書が gxditview でプレビュー される場合にはロードされます)。

grops への入力は troff (1) の出力形式である必要が有 り ま す。 こ れ は groff_out (5) に記載してあります。また、使用するデバイスに関するデバイ ス及びフォントの記述ファイルは仕様に合致する必要が有ります。 ps デバ イ ス に対して提供されているデバイス及びフォントの記述ファイルは完全にこの 仕様に合致します。 afmtodit(1) を使って AFM ファイルからフォントファ イ ルを生成可能です。解像度は、整数値かつ sizescale の 72 倍の倍数である必 要が有ります。 ps デバイスは解像度 72000 および sizescale 1000 を使用し ます。

デ バイス記述ファイルは、正当な用紙サイズを含む必要があります。更なる情 報については groff_font(5) を参照してください。

各フォント記述ファイルはコマンド

internalname psname

を含む必要が有ります。これは PostScript におけるフォント名が psname で あることを意味します。また、コマンド

encoding enc_file

を 含む場合も有ります。これは PostScript フォントが enc_file に記載され たエンコード方式で再度エンコードする必要が有ることを意味します; こ の ファイルは以下の形式の行のシーケンスから成ります:

pschar code

こ こで pschar は PostScript における文字名であり、 code はエンコードに おける位置を 10 進整数で表したものです。正当な値の範囲は 0 から 255 で す。 # で開始する行と空行は無視されます。フォントファイルにおいて与えら れる各文字のコードは、エンコードファイルにおける文字のコードに対応す る か、 も し くは PostScript フォントが再度エンコードされていない場合はデ フォルトエンコードにおけるコードに対応する必要が有ります。このコード を \N エスケープシーケンスと共に troff 中で使うことにより文字を選択可能で す。これは、文字が groff での名前を持たなくても可能です。フォントファイ ル 中 の 全ての文字は PostScript フォント中に存在することが必要であり、 フォントファイル中で与えられる幅は PostScript フォントで使用される幅 に マッ チする必要が有ります。 grops は、groff における名前が space である 文字をブランク (ページ上に何も印を付けない) であるとしています; これ に より、効率の良い小さな PostScript 出力が得られます。

grops は PostScript フォントのすべてのグリフを表示可能です。 256 個だけ ではありません。 enc_file (エンコーディングが指定されない場合はデフォル トエンコーディング) は、単に最初の 256 文字用のグリフの順番を指定するだ けです。他のグリフは、追加のエンコーディングベクタでアクセスされ、こ れ は grops がオンザフライで生成します。

grops は文書印刷に必要なダウンロード可能なフォントを自動的にインクルー ドします。このようなフォントは PFA フォーマットであることが必要 で す。 pfbtops(1) を使って Type 1 フォントを PFB フォーマットに変換してくださ い。要求時に grops にインクルードされるダウンロード可能な全てのフォント は /usr/share/groff_font/devps/download に列挙する必要が有ります; これ は以下の形式の複数の行から成ります。

font filename

ここで font はフォントの PostScript における名前であり、 filename は フォ ン トを含むファイルの名前です; # から始まる行と空行は無視されます; フィールドはタブもしくは空白により区切ります; filename の検索 は、groff の フォ ン ト メトリックファイルの検索と同じ方式で行われます。 download ファイル自身も同じ方式で検索されます; 現在のところ、フォントパス内で 最 初に見付かったファイルが使用されます。

ダ ウンロード可能なフォントもしくはインポートされた文書を含むファイルが Adobe Document Structuring Conventions を満たす場合、 grops はファイ ル 中 の コ メ ン ト を 十分解釈し、出力もこれを満たすようにします。また、 download ファイルに列挙された必要なフォントリソースおよびファイルリソー ス を 提 供します。また、リソース間の依存関係を扱うことも可能です。例え ば、ダウンロード可能な Garamond フォントおよびダ ウ ン ロー ド 可 能 な Garamond-Outline フォントが有り、後者が前者に依存すると仮定すると (概し て、後者は前者のフォント辞書をコピーして PaintType を変更したものと定義 さ れます)、PostScript 文書中で Garamond が Garamond-Outline より前に現 れる必要が有ります。 grops が こ れ を 自 動 的 に 扱 う た め に は、 Garamond-Outline 用のダウンロード可能なフォントファイルが Garamond に依 存することを Document Structuring Conventions を使用して示します。例 え ば以下のように始めることで示します。

%!PS-Adobe-3.0 Resource-Font
%%DocumentNeededResources: font Garamond
%%EndComments
%%IncludeResource: font Garamond

この場合、Garamond と Garamond-Outline を download ファイルに列挙する必 要が有ります。ダウン ロー ド 可 能 な フォ ン ト は、 自 身 の 名 前 を %%DocumentSuppliedResources コメントに含んではなりません。

grops%%DocumentFonts コ メ ン ト を 解 釈 し ま せ ん。 %%DocumentNeededResources, %%DocumentSuppliedResources, %%IncludeResource, %%BeginResource, %%EndResource コメント (もしくは古 い %%DocumentNeededFonts, %%DocumentSuppliedFonts, %%IncludeFont, %%BeginFont, %%EndFont コメント) は使用されます。

TrueType フォント

TrueType フォントは、まず Type 42 フォーマットに変換することで grops で 使えます。これは特別な PostScript ラッパであり、 pfbtops(1) で述べら れ ている PFA フォーマットと同じものです。 type42 ラッパを作成する数々の方 法があり、ほとんどの方法が Ghostscript — gs(1) 参 照 — の よ う な PostScript インタプリタを使う方法です。最も簡単な方法は、アプリケーショ ン ttftot42 を使うものでしょう。このプログラムは freetype(3) (バー ジョ ン 1.3.1) を使用することで、 type42 フォントラッパと、適切なメトリック ファイル作成のために afmtodit(1) に食わせるためのよくできた AFM ファ イ ル を生成します。結果のフォントラッパを download ファイルに追加する必要 があります。 ttftot42 ソースコードは ftp://www.giga.or.at/pub/nih/ttftot42/からダウンロード可能です。

環境変数

GROPS_PROLOGUE

foo に設定されている場合、 grops は (フォントパス中の) ファイル foo をデフォルトの序文ファイル prologue の代りに使用します。オ プション −P は、この環境変数に優先します。

関連ファイル

/usr/share/groff_font/devps/DESC

デバイス記述ファイル。

/usr/share/groff_font/devps/F

フォント F のフォント記述ファイル。

/usr/share/groff_font/devps/download

ダウンロード可能なフォントのリスト。

/usr/share/groff_font/devps/text.enc

テキストフォント用のエンコード方法。

/usr/share/tmac/ps.tmac

grops が使用するマクロ; troffrc により自動的にロードされます。

/usr/share/tmac/pspic.tmac

PSPIC マクロの定義。 ps.tmac から自動的にロードされます。

/usr/share/tmac/psold.tmac

古い PostScript プリンタには存在しない文字 (例え ば ‘eth’ や ‘thorn’) の使用を禁止するマクロ。

/usr/share/tmac/tmac.psnew

tmac.psold の効果を打ち消すマクロ。

/tmp/gropsXXXXXX

一時ファイル。

関連項目

afmtodit(1), groff(1), troff(1), pfbtops(1), groff_out(5), groff_font(5), groff_char(7), groff_tmac(5)

スポンサーリンク