Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all
名称
groff_font - groff のデバイスとフォントを記述するファイルの書式
解説
groff のフォントの書式は ditroff のフォントの書式に対し、 ほぼスーパセットになっています。 ditroff のフォントの書式とは異なり、 関連したバイナリ書式はありません。 name というデバイ ス用のフォントファイルは devname というディレクトリに納められます。 ファイルには 2 つの種 類があります: それは DESC と呼ばれるデバイス記述ファイルと、各フォント F ごとに存在する F と呼ばれるフォントファイルです。 これらはテキストファイルであり、関連したバイナリ書式の ファイルはありません。 DESC ファイルの書式 DESC ファイルは以下の形式の行を含むことができます: res n 1 インチあたりのマシン単位は n です。 hor n 水平解像度は n マシン単位です。 vert n 垂直解像度は n マシン単位です。 sizescale n ポイント数への倍率を指定します。デフォルトの値は 1 です。1 スケールドポイント は、1 ポイント/n と等しくなります。 unitwidth コマンドと sizes コマンドへの引数はスケール ドポイントで指定されます。 unitwidth n ポイントサイズが n スケールドポイントのフォントに対して、 フォントファイル毎の数量 をマシン単位で与えます。 prepro program program をプリプロセッサとして呼び出します。 postpro program program をポストプロセッサとして使用します。 tcommand ポストプロセッサが t と u の出力コマンドを扱えることを表します。 sizes s1 s2...sn 0 デバイスが s1, s2,...sn スケールドポイントのフォントを持つことを表します。 大きさの リストは 0 で終らなければなりません。 各 si は大きさの範囲 m-n でも指定できます。 リストは複数行にわたることも可能です。 styles S1 S2...Sm 先頭 m 個のフォント位置が、スタイル S1...Sm に関連づけられます。 fonts n F1 F2 F3...Fn フォント F1...Fn がフォント位置 m+1,...,m+n にマウントされます( m はスタイル数)。 このコマンドは複数行にわたることができます。 0 というフォント名を指定すると、 対応 するフォント位置にはフォントはマウントされません。 family fam デフォルトのフォントファミリは fam です。 use_charnames_in_special このコマンドは、スペシャルコマンドにおいては、 指定した文字を troff がエンコードす べきであることを指定します。 pass_filenames troff がドライバに対して、処理すべきソースファイル名を伝えるリクエストです。 これ は、次に示す別の tcommand にて実現されます: F filename 。 charset この行とファイル内の以下に続く行はすべて無視されます。 これは下位互換性のために許さ れています。 print program program を、印刷用のスプーラプログラムとして使用します。 これが存在しない場合、 -l と -L の groff オプションが無視されます。 res, unitwidth, fonts, sizes の行は必須です。 他のコマンドは troff には無視されますが、デ バイスに関する任意の情報を DESC ファイルに 入れておくためにポストプロセッサにより使われる かもしれません。 次に示すのは廃れたキーワードであり、 groff が認識するものの完全に無視するもののリストです: spare1, spare2, biggestfont 。 フォントファイルの書式 フォントファイルには 2 つのセクションがあります。 最初のセクションは空白で区切られた単語が 並んだ一連の行からなります。 行の最初の単語はキーで、以降の単語はそのキーに対する値となり ます。 name F フォントの名前は F です。 spacewidth n 空白の通常の幅は n です。 slant n フォントの文字が n 度傾斜していることを表します (正の値は進行方向を意味します)。 ligatures lig1 lig2...lign [0] 文字 lig1, lig2,...,lign は合字 (リガチャ; ligature) です。合字には ff, fi, fl, ffi, ffl が使用可能です。 下位互換性のために、合字のリストは 0 で終ってもかまいませ ん。 合字のリストは複数行にわたってはいけません。 special フォントは スペシャル です。これは現在のフォントに存在しない文字が要求された場合、 マウントされた全てのスペシャルフォントが検索されることを示しています。 他のコマンドは troff には無視されますが、フォントに関する任意の情報をフォントファイルに 入 れておくためにポストプロセッサにより使われるかも知れません。 最初のセクションには # 文字ではじまるコメントを、行末まで入れることができます。 次のセクションには 1 つか 2 つのサブセクションが含まれます。 サブセクション charset は必須 で、サブセクション kernpairs はオプションです。 これらのサブセクションは任意の順番で書くこ とができます。 各サブセクションは、サブセクション名のみからなる行から始まります。 単語 charset で charset サブセクションを開始します。 charset 行には一連の行が続きます。 各 行は 1 文字の情報を与えます。 行は空白かタブにより区切られたいくつかのフィールドから成りま す。 書式は name metrics type code [entity_name] [-- comment] で、 name は文字を識別します: name が単一の文字 c ならば、それは groff の入力文字 c を表し ます。 \c という形式で c が単一の文字なら、groff の入力文字 \c を表します。それ以外は groff の入力文字 \[name] を表します (2 文字の xx だとすると、 \(xx として入力されます)。 groff は 8 ビット文字に対応していますが、いくつかのユーティリティでは 8 ビット文字を扱うの が困難です。 このような理由から、文字コードが n である単一の文字と等価な charn という表記 法が存在します。 例えば、 char163 は ISO Latin-1 で英国ポンド記号を表す文字コード 163 の文 字と等価です。 --- という name は特別で、その文字に名前が無いことを示します。 そのような文 字は troff 中でエスケープシーケンス \N によってのみ使われます。 type フィールドは文字の種類を示します: 1 は descender (ベースラインより下にはみ出した部分) を持つ 文字であることを表しま す。例えば p があてはまります。 2 は ascender (x の高さより上に出る部分) を持つ文字であることを表します。 例えば b が あてはまります。 3 は ascender と descender の両方を持つ文字であることを表します。 例えば ( があてはま ります。 code フィールドはポストプロセッサが文字を印字するために使うコードを示します。 \N というエ スケープシーケンスを用いたこのコードを使って、groff に文字を 入力することもできます。 code はどんな整数でもかまいません。 0 から始まると、8 進数として扱われ、 0x や 0X で始まると 16 進数として扱われます。 entity_name フィールドは、グリフを識別する ASCII 文字列を与えます。 このグリフは、後処理を 行うプログラムが文字の印刷に使用します。 このフィールドは省略可能であり、 html ドライバが 文字集合をエンコード可能とするために導入されました。 例えば、文字 `\[Po]' は、html 4.0 で は `£' と表現されます。 行の code フィールド以降と、`--' の後ろは、すべて無視されます。 metrics フィールドの形式はこのようになります: width[,height[,depth[,italic_correction[,left_italic_correction[,subscript_correction]]]]] サブフィールド間には空白を入れてはいけません。 サブフィールドが存在しない場合は 0 として扱 われます。 サブフィールドは全て 10 進数の整数で指定されます。 対応するバイナリフォーマット が存在しないので、 ditroff のようにこれらの値を char 型変数の範囲に合わせるという必要はあ りません。 サブフィールド width では文字の幅を指定します。 サブフィールド height では文字 の高さを指定します (上が正)。 文字がベースラインよりも上にいかない場合、負の高さを持つとす るのではなく 高さが 0 であるとします。 サブフィールド depth では文字の深さを指定します。こ れはベースラインから文字の一番下までの 長さです (下が正)。 文字がベースラインより下に出て いない場合、負の深さを持つとするのではなく 深さが 0 であるとします。 サブフィールド italic_correction では直後にローマンフォントの文字が続く時に、文字の後に加えられる空白の 量を指定します。 サブフィールド left_italic_correction では直前にローマンフォントの文字が ある時に、文字の前に加えられる空白の 量を指定します。 サブフィールド subscript_correction では添字 (subscript) を加える際に文字の後に加えられる空白の量を 指定します。 これはイタ リック補正 (上記の italic_correction) よりは少なくなければ なりません。 charset セクション内では、以下のような書式の行も可能です name " これは name が前の行で言及した文字の別名であることを表します。 kernpairs セクションは kernpairs という単語から始まります。このセクションは以下のような書 式の 行からなります: c1 c2 n 文字 c1 が文字 c2 の次に現れる時には、それらの間の空白に n を加えることを意味します。 kernpairs セクションのほとんどのエントリは n に負の値を持つことになります。
関連ファイル
/usr/share/groff_font/devname/DESC デバイス name 用のデバイス記述ファイル /usr/share/groff_font/devname/F デバイス name のフォント F 用のフォントファイル
関連項目
groff_out(5), troff(1).