次の方法で共有


文字列の幅と高さ

アプリケーションでは、個々の文字の文字幅データを取得するだけでなく、文字列全体の幅と高さを計算する必要もあります。 2つの関数は、文字列幅と高さの測定値を取得します。GetTextExtentPoint32GetTabbedTextExtent。 文字列にタブ文字が含まれていない場合、アプリケーションは GetTextExtentPoint32 関数 を使用して、指定した文字列の幅と高さを取得できます。 文字列にタブ文字が含まれている場合、アプリケーションは GetTabbedTextExtent 関数を呼び出す必要があります。

アプリケーションでは、GetTextExtentExPoint 関数を使用して、ワード ラッピング操作を行うことができます。 この関数は、指定したスペース内に収まる指定した文字列から文字数を返します。

フォントのアセンダーと降順

一部のアプリケーションでは、フォントの最大アセンダーと降順を使用して、異なるサイズのテキスト行間の行間を決定します。 アプリケーションは、GetTextMetrics 関数を呼び出し、TEXTMETRICtmAscent および tmDescent メンバー チェックすることで、これらの値を取得できます。

最大上昇と降下は、文字体裁の上昇と降下とは異なります。 TrueType フォントと OpenType フォントでは、通常、文字体裁の上昇と降下は、f グリフの先頭と g グリフの下部です。 アプリケーションは、GetOutlineTextMetrics 関数を呼び出し、OUTLINETEXTMETRIC 構造体の otmMacAscent および otmMacDescent メンバーの値を参照して、TrueType フォントまたは OpenType フォントの文字体裁アセンダーとディセンダーを取得できます。

次の図は、NEWTEXTMETRIC で返される垂直方向のテキスト メトリック値と、OUTLINETEXTMETRIC構造体の違いを示しています。 (otm で始まる名前は、OUTLINETEXTMETRIC 構造体のメンバーです)。

テキスト メトリック値とアウトライン テキスト メトリック値のコントラストを示す図

フォントのサイズ

アプリケーションは、GetOutlineTextMetrics関数を呼び出すことによって、TrueType フォントまたは OpenType フォントの物理ディメンション取得できます。 アプリケーションは、GetTextMetrics 関数を呼び出すことによって、他のフォントの物理的なディメンションを取得できます。 出力デバイスのサイズを確認するために、アプリケーションは GetDeviceCaps関数呼び出すことができます。 GetDeviceCaps は、物理ディメンションと論理ディメンションの両方を返します。

論理インチは、システムが画面に読みやすいフォントを表示するために使用する測定値であり、物理インチよりも約 30 ~ 40% 大きくなります。 論理インチを使用すると、画面とプリンターの出力が完全に一致することができなくなります。 開発者は、画面上のテキストは、特にグラフィックスがテキストに組み込まれている場合に、ページに表示されるテキストのスケールされたバージョンではないことに注意する必要があります。