ラスター、ベクター、TrueType、および OpenType フォント

アプリケーションでは、次の 4 種類のフォント テクノロジを使用して、テキストを表示および印刷できます。

  • ラスター
  • ベクター
  • TrueType
  • Microsoft OpenType

これらのフォントの違いは、各文字または記号の グリフ がそれぞれの font-resource ファイルに格納される方法を反映しています。

  • ラスター フォントでは、グリフは、フォントで 1 つの文字または記号を描画するためにシステムが使用するビットマップです。
  • ベクター フォントでは、グリフは、フォントで文字または記号を描画するためにシステムが使用する行セグメントを定義する行の端点のコレクションです。
  • TrueType フォントと OpenType フォントでは、グリフは、線と曲線のコマンドのコレクションとヒントのコレクションです。

システムは、線と曲線のコマンドを使用して、TrueType または Microsoft OpenType フォントの文字またはシンボルのビットマップのアウトラインを定義します。 ヒントを使用して、文字または記号の描画に使用される曲線の線と図形の長さを調整します。 これらのヒントとそれぞれの調整は、ビットマップのサイズを縮小または拡大するために使用されるスケーリングの量に基づいています。 OpenType フォントは TrueType フォントと同じですが、OpenType フォントでは TrueType グリフ定義に加えて PostScript グリフ定義が許可されます。

ラスター フォント内の各グリフのビットマップは、デバイスの特定の解像度用に設計されているため、ラスター フォントは通常、デバイスに依存すると見なされます。 一方、ベクター フォントは、各グリフがスケーラブルな行のコレクションとして格納されるため、デバイスに依存しません。 ただし、ベクター フォントは通常、ラスターフォントや TrueType フォントや OpenType フォントよりも描画速度が遅くなります。 TrueType フォントと OpenType フォントでは、描画速度が比較的速く、デバイスに依存しない場合があります。 グリフに関連付けられているヒントを使用すると、開発者は TrueType または OpenType フォントから文字をスケールアップまたはスケールダウンし、元の図形を維持できます。

前述のように、フォントのグリフは font-resource ファイルに格納されます。 フォント リソース ファイルは、実際にはデータのみを含む DLL であり、コードはありません。 ラスター フォントとベクター フォントの場合、このデータは、フォントのメトリックとグリフ データを記述するヘッダーという 2 つの部分に分かれています。 ラスターまたはベクター フォントのフォント リソース ファイルは、.fon ファイル名拡張子で識別されます。 TrueType フォントと OpenType フォントの場合、フォントごとに 2 つのファイルがあります。最初のファイルには比較的短いヘッダーが含まれており、2 番目のファイルには実際のフォント データが含まれています。 最初のファイルは .fot 拡張子で識別され、2 番目のファイルは .ttf 拡張子で識別されます。