これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド グループです。
プログラム:
NAME
grops - groff 用の PostScript ドライバー
SYNOPSIS
掴む [-glmv] [-b n] [-c n] [-F DIR] [-I DIR] [-p ペーパーサイズ] [-P プロローグ] [-w n] [ファイル
...]
DESCRIPTION
掴む GNU の出力を翻訳します troff ポストスクリプトに。 通常は 掴む 呼び出す必要があります
groff コマンドを -Tps オプション。 (実際、これは groff のデフォルトです。)
ファイルが指定されていない場合は、 掴む 標準入力を読み取ります。 のファイル名 - また原因 掴む
標準入力を読み取る。 PostScript 出力は標準出力に書き込まれます。 いつ
掴む によって運営されています グロフ オプションを渡すことができます 掴む グロフ's -P オプションを選択します。
注意してください 掴む 有効なドキュメント構造を生成しません (Document
構造化規則) 複数のファイル引数で呼び出された場合。 そんな印刷に
連結出力 印刷プログラムで DSC 処理を無効にする必要があるか、
プレビューア。 セクションを参照 FONT インストール フォントをインストールする方法については、以下のガイドを参照してください。
掴む.
OPTIONS
コマンドラインオプションとそのパラメータの間に空白を入れることができます。
-bn 古いプリンター、壊れたスプーラー、およびプレビューアーの回避策を提供します。 通常は
掴む Document に準拠する PostScript LanguageLevel 2 で出力を生成する
構造化規則バージョン 3.0。 一部の古いプリンター、スプーラー、およびプレビューアー
そのような出力を処理できません。 の値 n 何を制御するか 掴む それを作るためにします
そのようなプログラムに受け入れられる出力。 値が 0 の場合、grops は何も雇用しません。
回避策。
いいえの場合は 1 を追加 %%ドキュメントセットアップの開始 と %%EndDocumentSetup コメントは
生成された; これは、混乱する TranScript の初期バージョンに必要です。
間の何か %%プロローグ終了 コメントと最初の %%ページ コメント。
で始まるインクルード ファイルの if 行を 2 つ追加します。 %! 取り除く必要があります。 これは
Sun のページビュー プレビューアに必要です。
あれば4を足す %%ページ, %%トレーラー と %%プロローグ終了 コメントは削除する必要があります
含まれるファイル; これは、 %%始める-
ドキュメント と %%ドキュメントの終了 コメント。
PostScript 出力の最初の行が必要な場合は、8 を追加します。 %!PS-Adobe-2.0 むしろ
より %!PS-Adobe-3.0; これは、Sun の Newsprint をプリンタで使用する場合に必要です。
ページ反転が必要です。
ドキュメントにメディア サイズ情報を含めない場合は、16 を追加します (つまり、
どちらも使わない %%ドキュメントメディア も セットページデバイス PostScript コマンド)。 これは。。。でした
groff バージョン 1.18.1 以前の動作。 古いプリンターには必要です
これは PostScript LanguageLevel 2 を理解していません。
出力は、カプセル化された PS (EPS) ファイルを取得するためにさらに処理されます。以下を参照してください。
デフォルト値は、
壊れた n
DESC ファイルのコマンド。 それ以外の場合、デフォルト値は 0 です。
-cn 印刷物 n 各ページのコピー。
-FDIR ディレクトリを先頭に追加 DIR/ dev名 プロローグ、フォント、デバイスの検索パスへ
記述ファイル; 名 通常はデバイスの名前です ps.
-g ページの長さを推測します。 これにより、ページを推測する PostScript コードが生成されます
長さ。 推測が正しいのは、撮像可能領域が垂直方向の中央にある場合のみです。
ページ。 このオプションを使用すると、両方で印刷できるドキュメントを生成できます。
レター(8.5×11)用紙とA4用紙に変更なし。
-IDIR このオプションは、ファイルの検索パスにディレクトリを追加するために使用できます。
コマンドラインとで指定されたファイル \ X'ps: 輸入' と \ X'ps: ファイル' 逃げる。 の
検索パスは現在のディレクトリで初期化されます。 このオプションは
複数回指定されました。 ディレクトリは指定された順序で検索されます
(ただし、現在のディレクトリの前)。 カレントディレクトリを
他のディレクトリの前に読み取り、追加 -私。 適切な場所で。
絶対ファイル名を持つファイルのディレクトリ検索は実行されません。
-l ドキュメントを横長形式で印刷します。
-m ドキュメントの手差しをオンにします。
-p用紙サイズ
出力メディアの物理的寸法を設定します。 これは、 ペーパーサイズ,
紙の長さ, 用紙幅 のコマンド DESC ファイル; それは同じことを受け入れます
引数として ペーパーサイズ 指図。 見る グロフフォント (5) 詳細については。
-Pプロローグファイル
ファイルを使用する プロローグファイル (フォント パス内) の代わりにプロローグとして
デフォルトのプロローグ ファイル プロローグ. このオプションは環境変数をオーバーライドします
GROPS_PROLOGUE。
-wn の太さで線を引く必要があります。 n em の XNUMX 分の XNUMX。 このオプションの場合
が指定されていない場合、線の太さはデフォルトで 0.04 em になります。
-v バージョン番号を印刷します。
USAGE
への入力 掴む によって出力される形式でなければなりません troff(1)。 これについては、
groff_outとします。
さらに、デバイスおよび使用されるデバイスのフォント記述ファイルは、特定の条件を満たす必要があります。
要件: 解像度は 72 倍の整数倍である必要があります。 サイズスケールを選択します。
ps デバイスは解像度 72000 とサイズスケール 1000 を使用します。
デバイス記述ファイルには有効な用紙サイズが含まれている必要があります。 見る グロフフォント(5)詳細
情報を表示します。
各フォント記述ファイルにはコマンドが含まれている必要があります
内部名 psname
これは、フォントの PostScript 名が psname. コマンドを含む場合もあります
エンコーディング enc_file
PostScript フォントは、
enc_file; このファイルは、次の形式の一連の行で構成されている必要があります。
プシャー コード
コラボレー プシャー はキャラクターの PostScript 名であり、 コード におけるその位置は
0 進整数として表されるエンコーディング。 有効な値は 255 ~ XNUMX の範囲です。
で始まります # 空行は無視されます。 で指定された各文字のコード
フォント ファイルは、エンコーディング ファイル内の文字のコード、またはコードに対応している必要があります。
PostScript フォントを再エンコードしない場合は、フォントのデフォルトのエンコードで。 これ
コードは \N のエスケープシーケンス troff 文字を選択する場合でも、
キャラクターには groff 名がありません。 フォント ファイル内のすべての文字は、
PostScript フォントであり、フォント ファイルで指定された幅は、
PostScript フォント。 掴む groff 名が スペース 空白です
(ページにマークを付けません); そのようなキャラクターを利用して、より多くを生成できます
効率的でコンパクトな PostScript 出力。
注意してください 掴む 256 だけでなく、すべてのグリフを PostScript フォントで表示できます。
enc_file (エンコーディング ファイルが指定されていない場合はデフォルトのエンコーディング) は、次の順序を定義するだけです。
最初の 256 文字のグリフ。 他のすべてのグリフには、追加でアクセスできます
ベクトルの符号化 掴む オンザフライで生成します。
掴む ドキュメントの印刷に必要なダウンロード可能なフォントを自動的に含めることができます。
このようなフォントは PFA 形式でなければなりません。 使用する pfbトップス(1) Type 1 フォントを PFB 形式に変換します。
必要に応じて、ダウンロード可能なフォントを含める必要があります。 掴む に記載する必要があります
ファイル /usr/share/groff/1.22.3/font/devps/download; これは、次の行で構成する必要があります。
フォーム
フォント ファイル名
コラボレー フォント フォントの PostScript 名、および ファイル名 ファイルの名前です
フォントを含む; で始まる行 # 空行は無視されます。 フィールドは
タブまたはスペースで区切られています。 ファイル名 と同じメカニズムを使用して検索されます。
groff フォント メトリック ファイルに使用されます。 の ダウンロード ファイル自体も次を使用して検索されます
このメカニズム; 現在、フォント パスで最初に見つかったファイルのみが使用されます。
ダウンロード可能なフォントまたはインポートされたドキュメントを含むファイルが Adobe
文書構造規則、次に 掴む ファイル内のコメントを解釈します
自身の出力が準拠していることを確認するのに十分です。 また、必要なものを提供します
にリストされているフォント リソース ダウンロード ファイルと必要なファイル リソース。
また、リソース間の依存関係を処理することもできます。 たとえば、あなたが持っていると仮定します
Garamond と呼ばれるダウンロード可能なフォント、および Garamond-Outline と呼ばれるダウンロード可能なフォント
Garamond に依存します (通常、Garamond のフォントをコピーするように定義されます)。
辞書、および PaintType を変更する)、ガラモンドが前に表示される必要があります。
PostScript ドキュメントの Garamond-Outline。 掴む これを自動的に処理します
Garamond-Outline のダウンロード可能なフォント ファイルが Garamond への依存を示していること
文書構造規則によって、例えば、
次の行
%!PS-Adobe-3.0 リソースフォント
%%DocumentNeededResources: フォント ガラモン
%%Endコメント
%%IncludeResource: フォント ガラモン
この場合、Garamond と Garamond-Outline の両方を ダウンロード
ファイル。 ダウンロード可能なフォントは、独自の名前を %%ドキュメントが提供されました-
お問い合わせ コメント。
掴む 解釈しない %%ドキュメントフォント コメント。 The %%DocumentNeededResources,
%%DocumentSuppliedResources, %% IncludeResource, %%リソースの開始, %%終了リソース
コメント (またはおそらく古い %%DocumentNeededFonts, %%DocumentSuppliedFonts, %%含む-
フォント, %%開始フォント, %%終了フォント コメント) を使用する必要があります。
デフォルトの設定では、と呼ばれるスタイルがあります。 R, I, B, BI フォント位置 1 にマウントされます
~ 4. フォントはファミリーにグループ化されています A, BM, C, H, HN, N, P, T メンバーがいる
これらの各スタイル:
AR アバンギャルドブック
AI アバンギャルドブック斜め
AB アバンギャルドデミ
ABI アバンギャルド・デミオブリーク
BMR ブックマンライト
BMI Bookman-LightItalic
BMB ブックマン・デミ
バンビ Bookman-DemiItalic
CR クーリエ
CI クーリエ・オブリーク
CB 宅配便-太字
CBI 宅配便-BoldOblique
HR ヘルベチカ
HI Helvetica-斜体
HB Helvetica-太字
HBI Helvetica-BoldOblique
HNR ヘルベチカ・ナロー
HNI Helvetica-ナロー-オブリーク
HNB Helvetica-細太字
HNBI Helvetica-Narrow-BoldOblique
NR NewCenturySchlbk-ローマ
NI NewCenturySchlbk-イタリック
NB NewCenturySchlbk-太字
NBI NewCenturySchlbk-太字イタリック
PR パラティーノ・ローマン
PI パラティーノイタリック体
PB パラティーノボールド
PBI Palatino-BoldItalic
TR タイムズ-ローマ
TI タイムズ-イタリック
TB タイムズ-太字
TBI タイムズ-BoldItalic
ファミリのメンバーではない次のフォントもあります。
ZCMI ZapfChancery-MediumItalic
と呼ばれるいくつかの特殊なフォントもあります。 S PS シンボル フォントの場合、および SS、含有
PS シンボルから取得した傾斜した小文字のギリシャ文字。 Zapf Dingbats は次のように入手できます。 ZD,
ZapfDingbats の反転バージョン (シンボルが反対方向を指している)
として利用可能です ZDR; これらのフォントのほとんどの文字には名前がなく、次を使用してアクセスする必要があります
\N.
のデフォルトの色 \m と \M 黒です。 「rgb」色空間で定義された色の場合
セットrgbカラー 「cmy」と「cmyk」に使用されます setcmykcolor、そして「グレー」の場合 セットグレー。 ご了承ください
setcmykcolor は PostScript LanguageLevel 2 コマンドであるため、一部の古いバージョンでは使用できません。
プリンタ。
掴む を使用して作成されたさまざまな X コマンドを理解します。 \X エスケープ シーケンス; 掴む の
で始まるコマンドを解釈します PS: タグ。
\ X'ps: exec コード'
これにより、任意の PostScript コマンドが実行されます。 コード. ポストスクリプト
currentpoint はの位置に設定されます \X 実行前のコマンド コードを選択します。
原点はページの左上隅にあり、y 座標は下に向かって増加します。
ページ。 手順 u groff 単位を座標系に変換するように定義されています
(ユーザーが縮尺を変更しない場合)。 例えば、
.nr x 1i
\ X'ps: exec \nx u 0 リネト 脳卒中'
長さ XNUMX インチの水平線を描画します。 コード グラフィックを変更する可能性があります
状態ですが、変更はページの最後までしか保持されません。 辞書
によって指定された定義を含む def と MDEF の上にあります
辞書スタック。 コードがこの辞書に定義を追加する場合は、
を使用してそれらにスペースを割り当てます \X'ps MDEF n'. すべての定義は、
ページの終わり。 を使用する場合 \Y 名前を付ける引数を持つエスケープ シーケンス
マクロ、 コード 複数の行にまたがることができます。 例えば、
.nr x 1i
。デ y
PS: exec
\nx u 0 リネト
ストローク
..
\Yy
は、長さ XNUMX インチの水平線を引く別の方法です。 単一のバックスラッシュに注意してください
'nx' の前 – マクロ 'y' の定義中に数値レジスタを使用する唯一の理由
ユーザー指定の次元 '1i' を groff の内部単位に変換します。
で PS 単位に変換されます。 u 手順。
掴む ユーザー指定の PostScript コードを辞書にラップするだけです。 の
特に、挿入されたコードの開始と終了はありません 保存 と リストア,
それぞれ。 これは、必要に応じてユーザーが提供する必要があります。
\ X'ps: file 名'
これはと同じです exec PostScript コードが読み込まれることを除いて、コマンド
file 名.
\ X'ps: def コード'
に含まれる PostScript 定義を配置します。 コード プロローグで。 あるはずです
XNUMX つにつき多くても XNUMX つの定義 \X 指図。 長い定義は複数に分割できます
\X コマンド; 全ての コード 引数は単純に結合され、
改行。 定義は、自動的にプッシュされるディクショナリに配置されます
ディクショナリ スタックで exec コマンドが実行されます。 を使用する場合 \Y 脱出
マクロを指定する引数を持つシーケンス コード 複数の行にまたがることができます。
\ X'ps: MDEF n コード'
いいね def、 それ以外で コード 最大で n 定義。 掴む 知る必要がある
いくつの定義 コード 適切なサイズの
それらを含む PostScript 辞書。
\ X'ps: import file llx ゆり ウルクス ury 幅 [ 高さ ]'
PostScript グラフィックをインポートする file. 引数 llx, ゆり, ウルクス, ury 与える
デフォルトの PostScript 座標系におけるグラフィックの境界ボックス。 彼ら
すべて整数である必要があります。 llx と ゆり 左下のx座標とy座標です
グラフィックの隅; ウルクス と ury 右上のx座標とy座標です
グラフィックの隅; 幅 と 高さ 希望の幅を与える整数です
グラフィックの groff 単位の高さ。
グラフィックは、この幅と高さになるようにスケーリングされ、次のように変換されます。
グラフィックの左下隅は、に関連付けられた位置にあります。 \X
指図。 高さの引数を省略すると、x と
指定された幅になるように y 方向に移動します。
の内容に注意してください \X コマンドは解釈されません troff; とても垂直
グラフィック用のスペースは自動的に追加されません。 幅 と 高さ
引数にスケーリング インジケーターを添付することはできません。
PostScript ファイルが Adobe Document Structuring Conventions および
〜を含む %%境界ボックス コメントすると、境界ボックスは自動的に
を使用して groff 内から抽出されます。 psbb リクエストで詳細に指定された通りになります。
見る groff_tmac(5)の説明については PSPIC 便利な機能を提供するマクロ
PostScript グラフィックスを含めるための高レベル インターフェイス。
\ X'ps: インビス
\ X'ps: エンディンヴィス
これらの括弧で囲まれたテキストおよび描画コマンドの出力は生成されません。
\X コマンド。 これらのコマンドは、 troff is
で処理する前にプレビュー 掴む; プレビューアが表示できない場合
特定の文字または他の構成体、次に他の代替文字または
コンストラクトは、これらで括弧で囲むことにより、プレビューに使用できます \X コマンド。
たとえば、 gxditview 適切な表示ができません \(em キャラクターだから
標準の X11 フォントはそれを提供しません。 この問題は、
次のリクエスト
.char \(em \ X'ps: インビズ\
\Z'\v'-.25m'\h'.05m'\D'l 9m 0'\h'.05m''\
\ X'ps: endinvis'\(em
この場合、 gxditview を表示できません \(em 文字と線を引き、
一方 掴む 印刷します \(em 行を無視します (このコードは既に
ファイル内 Xps.tmac ドキュメントが目的の場合にロードされます 掴む でプレビューされます
gxditview).
PostScript プロシージャの場合 BPフック ' で定義されていますPS: def'または'PS: MDEF' デバイス
コマンド、それはすべてのページの最初に実行されます (何かが描画される前、または
groff によって書かれました)。 たとえば、「DRAFT」という単語を使用してページ コンテンツを下に配置するには、次のようにします。
ライトグレー、あなたが使うかもしれません
。デ XX
PS: def
/BPフック
{ gsave .9 セットグレー クリップパス パスボックス 交換 2 copy
.5 MUL 交換 .5 MUL 翻訳する アタン 回転させる ポップ ポップ
/NewCenturySchlbk-ローマン フォントを見つける 200 スケールフォント セットフォント
(下書き) DUP 文字列幅 ポップ - 5 MUL -70 へ引っ越す 表示する
復元する }
def
..
.devicem XX
または、ラインとポリゴンを正方形のラインキャップと留め継ぎのラインジョインで描画するには
で通常使用される丸いラインキャップとラインジョインの代わりに 掴むには
。デ XX
PS: def
/BPフック { 2 セットラインキャップ 0 セットラインジョイン } def
..
.devicem XX
(バット ラインキャップ (0 setlinecap) とは対照的に、スクエア ラインキャップは、ボックス化された真のコーナーを提供します。
線が接続されていない場合でもテーブル)。
カプセル化 PostScriptの
掴む それ自体はバウンディング ボックス情報を出力しません。 Ghostscript の助けを借りて、
次の簡単なスクリプト、 グロフ2eps、カプセル化された PS ファイルを生成します。
#! /bin/sh
グロフ -P-b16 $1 > $1.ps
gs -dNOPAUSE -sDEVICE=bbox -- $1.ps 2> $1.bbox
sed -e "/^%%向き/r $1.bbox" \
-e "/^%!PS-Adobe-3.0/s/$/ EPSF-3.0/" $1.ps > $1.eps
rm $1.ps $1.bbox
言うだけ
グロフ2eps foo
ファイルを変換する foo 〜へ foo.eps.
TrueTypeフォント と 他の フォント フォーマット
TrueType フォントを使用できます 掴む 最初に変換した場合 種類 42 フォーマット、特殊
に記載されている PFA 形式と同等の PostScript ラッパー pfbトップス(1)。 がある
type42 ラッパーを生成するためのいくつかの異なる方法があり、それらのほとんどは以下の使用を伴います。
Ghostscript などの PostScript インタープリター – を参照 gsとします。
しかし、最も簡単な方法は、アプリケーションの使用を伴います ttftot42(1)。 このプログラム
使用されます フリータイプ(3) (バージョン 1.3.1) type42 フォント ラッパーと整形式 AFM を生成する
に供給できるファイル アフトディット(1) 適切なメトリック ファイルを作成するスクリプト。 の
結果のフォント ラッパーは、 ダウンロード ファイルにソフトウェアを指定する必要があります。 ttftot42 ソースコードは
からダウンロード ftp://www.giga.or.at/pub/nih/ttftot42/ ⟨ftp://www.giga.or.at/pub/nih/
ttftot42/⟩。
Type42 ラッパーを作成するもう XNUMX つの解決策は、http:// から入手できる FontForge を使用することです。
フォントフォージ.sf.net ⟨http://fontforge.sf.net⟩. このフォント エディタは、ほとんどのアウトラインを変換できます
フォントフォーマット。
FONT インストール
このセクションでは、上記の説明を要約します。 ステップバイステップとして機能します
フォントインストールガイド 掴む.
· フォントを groff が理解できるものに変換します。 これは PostScript Type 1 のいずれかです
AFM ファイルとともに、PFA 形式のフォントまたは PostScript Type 42 フォント。
PFA ファイルの最初の文字は次のようになります。
%!PS-AdobeFont-1.0:
PFB ファイルの最初の行にもこれが含まれていますが、文字列の前に次の文字列が付加されます。
バイナリバイト。
Type 42 フォント ファイルの最初の文字は次のようになります。
%!PS-TrueTypeフォント
これは TrueType フォントのラッパー形式です。 古い PS プリンターはサポートしていない可能性があります
(つまり、組み込みの TrueType フォント インタープリターがありません)。
フォントが PFB 形式の場合 (このようなフォントには通常、ファイル拡張子として「.pfb」が付いています)、
あなたはgroffのを使うかもしれません pfbトップス(1) それを PFA に変換するプログラム。 TrueType フォントの場合、
試します ttftot42 or フォントフォージ. 他のすべてのフォント形式については、 フォントフォージ 変換できるのは
ほとんどのアウトライン フォント形式。
· AFM ファイルを groff フォント記述ファイルに変換します。 アフトディット(1)プログラム。
呼び出しの例は次のとおりです
afmtodit Foo-Bar-Bold.afm テキストマップ FBB
これは、メトリック ファイル「Foo-Bar-Bold.afm」を groff フォント「FBB」に変換します。 もし、あんたが
通常、太字、斜体、および太字斜体のフォント ファミリがある場合、
文字を使用することをお勧めします R, B, I, BI、それぞれ接尾辞として
groff の '.fam' リクエストを機能させるための groff フォント名。 例は groff の組み込みです
Times-Roman フォント: フォント ファミリ名は次のとおりです。 T、groff フォント名は次のとおりです。 TR, TB, TI,
と TBI.
· groff フォント記述ファイルとフォントの両方を「devps」サブディレクトリにインストールします
groff が見つけたフォント パスの。 を参照してください。 ENVIRONMENT のセクション troff(1)男
フォント パスの実際の値をリストするページ。 groff は
AFM ファイル (ただし、とにかく保存しておくことをお勧めします)。
· 'devps/download' でプリンターにダウンロードする必要があるすべてのフォントを登録します。
ファイル。 フォント パス内でこのファイルが最初に出現したものだけが読み取られます。 これの意味は
デフォルトの「ダウンロード」ファイルをフォントの最初のディレクトリにコピーする必要があること
パスを指定し、そこにフォントを追加します。 上記の例を続けるために、PS が
Foo-Bar-Bold.pfa のフォント名は「XY-Foo-Bar-Bold」です (PS フォント名は
内部名 フィールド)、したがって、次の行を追加する必要があります
'ダウンロード'。
XY-フー-バー-ボールド Foo-Bar-Bold.pfa
OLD フォント
groff バージョン 1.19.2 以前には、わずかに異なる 35 個の Adobe コアのセットが含まれています。
フォント; 違いは主に「ユーロ」グリフの欠如とカーニングのセットの削減です。
ペア。 下位互換性のために、これらの古いフォントは
/usr/share/groff/1.22.3/oldfont/devps
ディレクトリにあります。
それらを使用するには、次のことを確認してください。 掴む デフォルトのシステム フォントの前にフォントを検索します (
同じ名前): コマンド ライン オプションを追加するか -F 〜へ 掴む
グロフ -Tps -PF -P/usr/share/groff/1.22.3/oldfont ...
またはディレクトリをgroffのフォントパス環境変数に追加します
GROFF_FONT_PATH=/usr/share/groff/1.22.3/oldfont
ENVIRONMENT
グループプロローグ
これがに設定されている場合 fooをタップし、その後、 掴む ファイルを使用します foo (フォントパス内)の代わりに
デフォルトのプロローグ ファイル プロローグ。 オプション -P この環境をオーバーライドします
変数に保存します.
GROFF_FONT_PATH
検索するディレクトリのリスト devの名 ディレクトリに加えて
デフォルトのもの。 見る troff(1)と グロフフォント(5)詳細については。
SOURCE_DATE_EPOCH
作成として使用するタイムスタンプ (Unix エポックからの秒数で表される)
現在時刻の代わりにタイムスタンプを使用します。
onworks.net サービスを使用してオンラインで grops を使用する