TeXフォントメトリック


TeX_font_metric

 「TeXフォントメトリック」  
TeXフォントメトリック(TFM)は、TeX植字システムで使用されるフォント ファイル形式です。これは、TrueTypeのようなアウトラインフォント形式ではなく、フォントメトリック形式です。これは、各文字の幅、高さ、深さなど、フォントを植字するために必要な情報のみを提供するためです。実際のグリフは別の場所に保存されます。これはTeXに固有のものではありません。AdobeのAFMファイルとWindowsのPFM(最新のWindows PostScriptドライバーのNTF)ファイルは同じ手法を使用します。
TeXフォントメトリック
ファイル名拡張子 .tfm インターネットメディアタイプ
application/x-tex-tfm (非公式)
によって開発された
ドナルドE.クヌース
フォーマットの種類
フォントメトリック
TFMファイルには、TeXがデバイスに依存しない(DVI)出力を生成するために必要なすべての情報が含まれています。次に、実際のグリフは、TrueTypeフォント、またはMETAFONTソースから派生したビットマップPK形式のフォントを使用して、最終的なDVI出力ドライバーまたはプレビューアによって挿入されます。フォーマットは非常にコンパクトになるように設計されています。元のComputerModernディストリビューションでは、すべてのフォントのTFMファイルは2kB未満です。

コンテンツ
1 仕様
2 プロパティリスト
3 ノート
4 参考文献
5 外部リンク

仕様
TFM形式の正規仕様は、プログラムTFtoPLのソースコードに埋め込まれています。
TFMファイルは、さまざまな長さのデータフィールドを含むことができる一連の4バイトワードに分割されます。1バイトを超える長さのデータフィールドは、ビッグエンディアンの順序で保持されます。(ファイルを生成するコンピューターのアーキテクチャーに関係なく、まったく同じファイルが生成されます。)
6ワード(24バイト)のファイルヘッダーには、ファイルの長さ、フォントに含まれる文字コードの範囲、および各テーブルのサイズを表す12個の符号なし16ビット整数が含まれています。単一のTFMファイルは、0から256文字までを記述します。
TFMファイルの本体は、一連の10個のテーブルで構成されています。各テーブルは、固定長フィールドの配列として最初に配置されたものを除きます。小数点の左側に12ビットがある32ビットの符号付き固定小数点数は、と呼ばれ、fix_word頻繁に使用されます。最初のテーブル、headerには、あるフォントセットでDVIにコンパイルされたドキュメントが別のセットで印刷されないように設計されたチェックサム、ASCIIおよび文字コード体系(、、などTeX text)とフォントファミリのASCII記述が含まれています。また、フォントのデザインサイズも含まれています。以下のすべてのfix_word値は、このための乗算係数として解釈されます。
File
  次のテーブルはchar_info、文字ごとに1つの単語で構成され、幅、高さ、深さ、および斜体の補正テーブルへのインデックスが含まれています。たとえば、幅の値が頻繁に複製されるため、これはスペースを節約するためのデバイスです。高さと深さの値はより頻繁に複製されるため、これらすべての値を1つのワードに収めるために、インデックスは4ビットに制限されています。このため、特定のTFMファイルには16の異なる文字の高さと16の異なる文字の深さの制限がまた、64の異なるイタリック補正の制限がlig_kern2ビットtag値に応じて、テーブルまたは拡張可能な文字に関する情報を指すことができるもう1つのインデックスも拡張可能な文字は、一連の繰り返される文字を使用して、任意のサイズの単一の大きな文字、通常は括弧や角かっこなどの大きな区切り文字を作成します。
次いで、4つのテーブルが従うwidth、height、depth及びitalic(の値含まれ、fix_wordフォーマット)のインデックスによって参照されますchar_info。
結紮とカーニングは、lig_kernテーブル内の固定長の4バイト演算で構成される単純なプログラミング言語を使用して表されます。それに続く表fix_wordのカーニング値(sとして指定)を利用しkernます。
拡張可能文字は、拡張可能文字extenの上部、中間、下部、および繰り返しセクションを指定する一連の4バイトの単語を使用して、表で指定されます。例えば、以下の左にある文字は、(設定によって得られるであろうtop、mid、bot、repのための文字コードに)(/、<、、|)。最初の3文字コードはゼロに設定できます。たとえばmid、前の例で0に設定した場合、結果は左に描かれた中括弧から右に描かれた括弧に変わります。
//| || |<|| || |
もちろん、フォントは既存の文字を再利用する代わりに、特別に設計された文字を使用しますが、原則は同じです。
ファイナルテーブルにはparam、fix_wordフォントのエックスハイトやイタリックの傾きの量(アクセントをシフトする距離を決定するため)など、具体的に定義された一連の値が含まれています。以下のような特定の符号化方式TeX math symbolsとは、TeX math extensionこれらの後に表示される追加のパラメータを定義します。

プロパティリスト
プロパティリストには、PLと呼ばれるTFM形式に相当する人間が読める形式がTFMファイルとPLファイルの間には正確な対応関係がプログラムを使用して情報を失うことなく、一方を他方に自由に変換したり、元に戻したりすることができます。スペースではなく使いやすさを重視して最適化されたPL形式は、TFM形式と同じように参照を使用しません。たとえば、フォント内の多くの文字が同じ文字幅を使用する場合がこれはTFM形式で1回だけ表され、インデックスは完全精度の数値よりも大幅に小さいため、この値は各文字によって参照されます。 。ただし、PL形式では、表示されるたびに完全な値が書き出されます。tftoplpltotf
たとえば、これはComputer Modern Romanの大文字Yのコードで、10ポイントです。(文字CY (CHARWD R 0.750002) (CHARHT R 0.683332) (CHARIC R 0.025) (コメント(KRN C e R -0.083334)(KRN C o R -0.083334)(KRN C r R -0.083334)(KRN C a R -0.083334)(KRN CAR -0.083334)(KRN C u R -0.083334))。 )。
ここに表示されているカーニング値は、読みやすくするためにPLファイルの別のセクションからコピーされていますが、それ自体は冗長です。カーニング定数の完全な数値は、一度保存されてはるかに小さなインデックスで参照されるのではなく、表示されるたびに書き出されることに注意して

ノート
^ “”CTAN:/ tex-archive / fonts / cm / tfm /”。包括的なTeXアーカイブネットワーク。1996-07-08 。
^ Knuth、Donald E.。「TFtoPL」(WEBのソースコードと、使用して完全なドキュメントを抽出織り)。バージョン3.2 。

参考文献
フックス、デビッド(1981年2月)。「TeXフォントメトリックファイル」 (PDF)。タグボート。2(1):12–16 。

外部リンク
TFMファイル形式の説明”