tfmtodit は、
groff -Tdvi
で用いるフォントファイルを作成します。
tfm_file は、フォント作成に用いる TeX のフォントメトリックファイル名です。
map_file は groff での文字名を記述したファイルです。
このファイルの各行は、下記のフォーマットから成ります。
|
n c1 c2 ...
|
n はフォント中の十進数で表した文字の位置、
c1, c2,... はその文字の groff 上の名前です。
tfm ファイルに存在しても groff 上では名前を持たない文字は、
groff フォントファイルに名前のない文字として出力されます。
font は、出力する groff フォントファイル名です。
|
特殊なフォント (カレントフォントの中に文字が見つからない場合に
検索されるフォント) に対しては
-s オプションを指定する必要があります。
特殊なフォントは DESC ファイルの
fonts コマンドで列挙します。特殊なフォント以外は列挙する必要はありません。
troff がそのフォントを最初に使用したときに自動的にマウントできるからです。
|
数式を適切に処理するために、groff は tfm には含まれない
フォントメトリック情報を必要とします。
TeX は数式用のイタリックフォントを使用しますが、groff では、
通常のイタリックフォントを数式にも使用するからです。
groff が必要とする情報は、Metafont の Computer Modern fonts に
おける
math_fit マクロの 2 つの引数によって与えることができます。
Metafont は通常、テキストフォント (
math_fitting が false) の処理中、これらの引数を無視します。
cm.base を作成するときに以下の定義を
cmbase のあとにロードすることによって、
テキストフォントのフォントメトリック情報を
gf ファイル中に出力するように Metafont に指示できます。
|
|
def ignore_math_fit(expr left_adjustment,right_adjustment) =
special "adjustment";
numspecial left_adjustment*16/designsize;
numspecial right_adjustment*16/designsize;
enddef;
|
EC フォントファミリでは、
exbase の後で次の定義をロードしてください
(ローカルに
exbase.mf をパッチするのが一番簡単でしょう):
|
|
def ignore_math_fit(expr left_adjustment,right_adjustment) =
ori_special "adjustment";
ori_numspecial left_adjustment*16/designsize;
ori_numspecial right_adjustment*16/designsize;
enddef;
|
この変更された
cm.base または
exbase を使って作成された gf ファイルは
-g オプションで指定します。
-g オプションは、
math_fitting が true に設定されたフォントに対しては使用してはいけません。