GROPS
Section: User Commands (1)
Updated: 1 May 2003
索引
jman
索引
名称
grops - groff 用 PostScript ドライバ
索引
書式
grops
[ -glmv ]
[ -b n ]
[ -c n ]
[ -F dir ]
[ -p papersize ]
[ -P prologue ]
[ -w n ]
[ files... ]
コマンドラインオプションとパラメータの間に空白を含めることが可能です。
索引
解説
grops
は GNU
troff
の出力を PostScript に変換します。
通常
grops
は groff コマンドを
-Tps
オプション付きで起動した時に起動されます。
(groff のデフォルトです。)
ファイルを指定しないと、
grops
は標準入力を読みます。
ファイル名
-
を指定しても、
grops
は標準入力を読みます。
PostScript 出力は標準出力に書きます。
grops
を
groff
から起動する場合、
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 を加えます
(すなわち
%%DocumentMedia
も
setpagedevice
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
として使用可能です;
これらのフォントのほとんどの文字は名前が無いので、
[rs]N.
にてアクセスせねばなりません。
[rs]m
と
[rs]M
のデフォルト色は黒です。
`rgb' 色空間中で定義される色には
setrgbcolor
を使用し、`cmy' と `cmyk' には
setcmykcolor
を、`gray' には
setgray
を使用します。
setcmykcolor
は PostScript LanguageLevel~2 コマンドであり、古いプリンタでは使えません。
grops
は
[rs]X
エスケープシーケンスにより生成された様々な X コマンドを理解します;
grops
は
ps:
タグから始まるコマンドのみを翻訳します:
- [rs]X'ps: exec code'
-
code
中の任意の PostScript コマンドを実行します。
code
実行前に PostScript の現在位置は
[rs]X
の位置に設定されます。
原点はページの左上になり、y 座標はページを下ると増加します。
プロシージャ
u
は、groff の単位を有効な座標系のものに変更するように定義されます。
例えば、
-
-
.nr x 1i
[rs]X'ps: exec [rs]nx u 0 rlineto stroke'
-
は 1 インチ長の水平線を描画します。
code
はグラフィックステートを変更し得ますが、ページの終端までしか継続しません。
def
と
mdef
により指定される定義を含む辞書は、辞書スタックの頭に有るでしょう。
あなたのコードがこの辞書に定義を付加するなら、
[rs]X'ps mdef n'.
を使用して、そのための空間を割り当てる必要が有ります。
定義はページの終りまでしか継続しません。
[rs]Y
エスケープシーケンスをマクロを名付ける引数と共に使うと、
code
を複数行に渡らせることが出来ます。
例えば、
-
-
.nr x 1i
.de y
ps: exec
[rs]nx u 0 rlineto
stroke
..
[rs]Yy
は 1 インチ長の水平線を描画する別の方法です。
- [rs]X'ps: file name'
-
exec
コマンドと同様ですが、コードをファイル
name
から読みます。
- [rs]X'ps: def code'
-
code
の PostScript 定義をプロログ部に置きます。
[rs]X
コマンドに対し最大 1 定義までです。
長い定義は複数の
[rs]X
コマンドに渡り分割できます;
全ての
code
引数は、改行で区切られ、単純に連結されます。
定義は、
exec
コマンド実行時に辞書スタックに自動的にプッシュされる辞書に置かれます。
\Y
エスケープシーケンスをマクロを名付ける引数と共に使うと、
code
を複数行に渡らせることが出来ます。
- [rs]X'ps: mdef n code'
-
def
と同様ですが、
code
は
n
個まで定義を保持し得ます。
grops
は何個の定義を
code
が含むのかを知る必要が有るので、これらを含む適切な大きさの PostScript 辞書
を生成できます。
- [rs]X'ps: import file llx lly urx ury width [ height ]'
-
PostScript グラフィックスを
file
からインポートします。
引数
llx,
lly,
urx,
ury
は、デフォルトの PostScript 座標系における
グラフィックのバウンディングボックスを与えます;
すべて整数である必要が有ります;
llx
と
lly
はグラフィックの左下の x y 座標です;
urx
と
ury
はグラフィックの右上の x y 座標です;
width
と
height
は整数であり、groff の単位でグラフィックの幅と高さを与えます。
グラフィックは延び縮みして、この幅と高さになり、
グラフィックの左下角は
[rs]X
コマンドにて関連づけられた場所に位置します。
引数 height を省略すると、x y 方向が同等に縮尺され、
指定した幅になります。
[rs]X
コマンドの内容は
troff
が解釈しないことに注意して下さい;
グラフィックのための垂直方向の空白は自動的に付加されず、
width
と
height
の引数にスケーリングインジケータを付加することは許されません。
PostScript ファイルが Adobe Document Structuring Conventions から成り、
%%BoundingBox
コメントを含む場合、
psbb
リクエスト実行により、groff 中でバウンディングボックスを自動的に取得可能です。
-
PostScript グラフィックスの高レベルインタフェースを提供する
PSPIC
マクロについては、
groff_tmac(5)
を参照してください。
- [rs]X'ps: invis'
-
-
[rs]X'ps: endinvis'
これらの
[rs]X
コマンドにて囲まれたテキストと描画コマンドは出力を生成しません。
このコマンドは、
troff
の出力を
grops
で処理する前に見るために有ります;
プレビュアがある文字または構造を表示できない時、
これらの
[rs]X
コマンドで囲むことにより、
代わりの文字または構造をプレビュー用に使えます。
-
例えば、標準の X11 フォントには含まれませんので、
gxditview
は
[rs](em
文字を正しく表示できません;
この問題は以下のリクエストを実行することにより解決できます。
-
.char [rs](em [rs]X'ps: invis'[rs]
[rs]Z'[rs]v'-.25m'[rs]h'.05m'[rs]D'l .9m 0'[rs]h'.05m''[rs]
[rs]X'ps: endinvis'[rs](em
この場合、
gxditview
は
[rs](em
文字を表示できず線を引きますが、
grops
は
[rs](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 フォントが再度エンコードされていない場合は
デフォルトエンコードにおけるコードに対応する必要が有ります。
このコードを
[rs]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
ソースコードは
からダウンロード可能です。
索引
環境変数
- GROPS_PROLOGUE
-
foo
に設定されている場合、
grops
は (フォントパス中の) ファイル
foo
をデフォルトの序文ファイル
prologue
の代りに使用します。
オプション
-P
は、この環境変数に優先します。
索引
関連ファイル
u+2n
-
-
/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)
索引
Index
- 名称
-
- 書式
-
- 解説
-
- オプション
-
- 使用法
-
- TrueType フォント
-
- 環境変数
-
- 関連ファイル
-
- 関連項目
-
Time: 07:06:08 GMT, January 12, 2009