アプリケーションでは、次の 4 種類のフォント テクノロジを使用して、テキストを表示および印刷できます。
- ラスター
- ベクトル
- TrueType
- Microsoft OpenType
これらのフォントの違いは、各文字またはシンボルの グリフ がそれぞれのフォント リソース ファイルに格納される方法を反映しています。
- ラスター フォントでは、グリフは、フォントに 1 つの文字または記号を描画するためにシステムが使用するビットマップです。
- ベクター フォントでは、グリフは、フォントで文字または記号を描画するためにシステムが使用する行セグメントを定義する行の端点のコレクションです。
- TrueType フォントと OpenType フォントでは、グリフは、線と曲線のコマンドのコレクションだけでなく、ヒントのコレクションです。
システムは、線と曲線のコマンドを使用して、TrueType または Microsoft OpenType フォントの文字または記号のビットマップのアウトラインを定義します。 ヒントを使用して、文字または記号の描画に使用される曲線の線と図形の長さを調整します。 これらのヒントとそれぞれの調整は、ビットマップのサイズを縮小または拡大するために使用されるスケーリングの量に基づいています。 OpenType フォントは TrueType フォントと同じですが、OpenType フォントでは、TrueType グリフ定義に加えて PostScript グリフ定義が許可される点が異なります。
ラスター フォントの各グリフのビットマップは、デバイスの特定の解像度用に設計されているため、ラスター フォントは通常、デバイスに依存すると見なされます。 一方、ベクター フォントはデバイスに依存しません。各グリフはスケーラブルな行のコレクションとして格納されるためです。 ただし、ベクター フォントは、一般にラスターフォントや TrueType フォントや OpenType フォントよりも描画速度が遅くなります。 TrueType フォントと OpenType フォントは、比較的高速な描画速度と、デバイスに対する真の独立性の両方を提供します。 グリフに関連付けられているヒントを使用すると、開発者は TrueType または OpenType フォントの文字をスケールアップまたはスケールダウンし、元の図形を維持できます。
既に説明したように、フォントのグリフはフォント リソース ファイルに格納されます。 フォント リソース ファイルは、実際にはデータのみを含む DLL であり、コードはありません。 ラスター フォントとベクター フォントの場合、このデータは、フォントのメトリックを記述するヘッダーとグリフ データの 2 つの部分に分かれています。 ラスターまたはベクター フォントのフォント リソース ファイルは、.fon ファイル名拡張子によって識別されます。 TrueType フォントと OpenType フォントの場合、フォントごとに 2 つのファイルがあります。最初のファイルには比較的短いヘッダーが含まれており、2 番目のファイルには実際のフォント データが含まれています。 最初のファイルは .fot 拡張子で識別され、2 番目のファイルは.ttf拡張子で識別されます。