FontForge と TeX

FontForge には、TeX を取り扱うための多数の機能が組み込まれています。

“pk”形式と“gf”形式のビットマップを読み込むことができ、それらに autotrace を適用してアウトラインフォントを生成することができます。 “.mf”ファイルに metafont を直接呼び出して“gf”ビットマップを生成し、autotrace にかけてアウトラインフォントを出力することさえ可能です。

合字とカーニングの情報を“.tfm”ファイルから読み込むことができます。 TFM ファイルを作成することもできます。

エンコーディング ファイルには、多数の標準 TeX エンコーディングが組み込まれています。

大規模な CJK の TrueType フォントに対しては、ttf2tfm のマニュアルページで手議されているとおりのサブフォント定義ファイルを読み込むことができ、この 2 つのファイルを元に一揃いの PostScript Type 1 フォントを 出力 することができます。

Lilypond 開発者グループと協議して、TeX 固有の情報を True/OpenType ファイルに格納する SFNT テーブル‘TeX’ を新たに設計しました。

TFM ファイル (と ENC ファイル) を出力する方法

TFM ファイルを出力する前に、以下の手順のいくつかを実行しなければなりません。

フォントのパラメータを設定する
これは、エレメント(L)フォント情報(F)...[ΤεΧ] で行います。
必要に応じて、グリフのイタリック補正値を入力する
(FontForge はイタリックフォントに対してデフォルトの値を生成しますので、この作業は、FontForge の見積りが間違っているときのみ行えば十分です)
  • イタリック補正を含むべきグリフを選択する
  • エレメント(L)グリフ情報(I)...→[選択型の置換] タブを選ぶ
  • [新規(N)] を押す
  • プルダウンリスト タグ(T)イタリック補正 を選ぶ
  • イタリック補正値を ΔXadvance に入力する
必要に応じて、何らかの TeX グリフリストを設定する
  • TeX 文字リストに含める最初の文字 (コードが最小の文字) をセレクトする
  • エレメント(L)文字情報(I)[別の位置] タブを選ぶ
  • [新規(N)...] を押す
  • プルダウンリスト タグ(T)TeXグリフリスト を選ぶ
  • 例えば、左括弧に対する文字リストの場合:
    グリフ lparen を選択し、“lparen.big lparen.bigger lparen.biggest”と打ち込むことになる。
必要に応じて、何らかの拡張文字を設定する
  • そのグリフが TeX グリフリストに存在する場合、グリフリストの最後のグリフ (インデックスが最大の文字) をセレクトする
  • エレメント(L)文字情報(I)[複数の置換先] タブを選ぶ
  • [新規(N)] を押す
  • プルダウンリスト タグ(T)TeX拡張リスト を選ぶ
  • この文字が分解される各グリフの名前を、以下の順番で入力する:
    上部、中央、下部、拡張
    フィールドが存在しない場合、.notdef を使用する
    例えば、左括弧に対応する拡張リストの場合: lparen.biggest を選択し、“lparen.top lparen.mid lparen.bottom lparen.ext" と入力することになる。

注意: FontForge が ファイル(F)カーニング情報の統合(M) を TFM ファイルに対して行った場合、これらの値は適切に設定されます。

満足の行くまでこれを行ったならば、TFM ファイルを出力する準備ができています。 ファイル(F)フォントを出力(G) で出てくるプルダウンリストから PostScript エンコーディングのどれか 1 つを選び、[オプション] ボタンを押して [*]TFMとENCを出力 チェックボックスをオンにします。

あなたがこれらのファイルを使って何を行うのか筆者は完全に理解していませんが、それらはこの手順で作成できるでしょう。

TeX に Type1 (PFB) PostScript フォントをインストールする方法

筆者は初心者の TeX/LaTeX ユーザなので、コメントは眉に唾をつけて読んでください。 手元のシステムではこの手順で動かすことに成功しました。

PostScript フォントを TeX にインストールするのは予想よりずっと複雑です (そのため、私はラテン文字のフォントをインストールする方法しか説明できません)。 フォントファイルを単に標準ディレクトリに移動するだけではなく以下のことをしなければなりません:

この先を読む前に、web 上の以下のリソースを参照することをお奨めします:

筆者は以下のようにしました:

目次