ポータブル TrueType メトリックの使用
TrueType テキスト メトリックを使用するアプリケーションでは、高度なプリンターとドキュメントの移植性を実現できます。16 ビットバージョンの Windows との互換性を維持する必要がある場合でも、TrueType メトリックを使用できます。
設計幅は、物理デバイスによって導入されるデバイスに依存するテキストの問題の大部分を克服します。 デザイン幅は論理幅の一種です。 ラスター化の問題やスケーリング変換に関係なく、各グリフは論理的な幅と高さを持ちます。 論理ページに対して構成され、文字列内の各文字には、物理デバイスの幅に依存しない場所があります。 論理幅は、すべてのポイント サイズで幅を直線的にスケーリングできることを意味しますが、これは必ずしも、非可用フォントまたはほとんどの TrueType フォントに当てはまるとは限りません。 小さいポイント サイズでは、読みやすくするために、高さに対してより広いグリフが作成されます。
TrueType コア フォントの文字は、2048 年までに 2048 グリッドに対して設計されています。 デザイン幅は、これらのグリッド単位の文字の幅です。 (TrueType では、16,384 x 16,384 までの任意の整数グリッド サイズがサポートされます。グリッド サイズは、他のグリッド サイズよりも 2 スケールの整数の累乗です)。
フォント アウトラインは、概念単位で設計されています。 em の四角形は、フォント アウトラインを合わせる概念グリッドです。 (OUTLINETEXTMETRIC の otmEMSquare メンバーと NEWTEXTMETRIC の ntmSizeEM メンバーを使用して、概念単位で em 四角形のサイズを取得できます)。ポイント サイズ (デバイス単位) が em 四角形のサイズと等しいフォントを作成すると、このフォントの ABC 幅が目的のデザイン幅になります。 たとえば、em 四角形のサイズが 1000 で、フォント内の文字の ABC 幅が 150、400、150 であるとします。 このフォントの高さが 10 のデバイス単位の文字は、それぞれ 1.5、4、1.5 の ABC 幅になります。 MM_TEXT マッピング モードはフォントで最も一般的に使用されるため (MM_TEXTはデバイスユニットと同等です)、これは簡単な計算です。
TrueType デザイン幅の解像度が高いため、それらを使用するアプリケーションでは、作成できる大きな数値を考慮する必要があります。 詳細については、次のトピックを参照してください。