情報: フォント メトリックと負の使用します。

サポートが終了した KB の内容についての免責事項

この記事は、マイクロソフトがサポートを提供しなくなった製品について記述しています。 したがって、この記事は「現状のまま」で提供され、更新されることはありません。

概要

次の図は、最も一般的に使用されるメトリックを説明するメモの後に測定値、負の値のそれぞれの図で選択されている文字の高さを含むフォントを示しています。
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

O O
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

/\
/ \
/ \
_ _ _ _ _ _ _ _ _ /______\ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/ \ / \|
/ \ | |
_ _ _ _ _ _ _ _ /_ _ _ _ _ _ \ _ \___/| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\___/_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|- External Leading
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _
|
O O |- Internal Leading
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _
| /\
| / \
| / \
| /______\ _ _ _ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Char Height -| / \ / \|
| / \ | |
| /_ _ _ _ _ _ \ _ \___/| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
| |
| |
_ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _\___/_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

| |
| O O |
| |
| /\ |
| / \ |
| / \ |- Ascent
Cell Height -| /______\ ___ |
| / \ / \| |
| / \ | | |
| /_ _ _ _ _ _ \ _ \___/| _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _
| | |
| | |- Descent
_ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _\___/_ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _

セルの高さ

LOGFONT で正するで選択されている高さです。ラスター フォントのフォントのビットマップの高さです。GetTextMetrics()から tmHeight を受け取る構造体として返されます。

文字の高さ (Em とも呼ばれます)

LOGFONT の負の値にするに選択されている高さです。(つまり、マッパーしようと文字の高さが要求された高さの値に一致するフォントを一致します。)


: 定義では、Em が-内部の先頭のセルの高さと同じです。Em は、フォントのポイント サイズを定義します。MM_TEXT マッピング モードで、Em に関連するポイント サイズとして次のようにします。

   Em=dpiY*point_size/72;  // where dpiY is dots per inch in Y direction
フォントの dpiY は、 TEXTMETRICS構造体の tmDigitizedAspectY と同じです。

内部レディング

受け取る構造体の tmInternalLeading GetTextMetrics()から、多くの場合、必須ではありませんでアクセント記号 (アクセント記号) のフォントのビットマップの内部領域の大きさのままにした説明は、これが返されます。

外部レディング

これは、 GetTextMetrics()から tmExternalLeading を受け取る構造体として返され、どれだけ余分なスペース、フォント デザイナー期待フォントの行の間のままにするアプリケーションについて説明します。ビットマップに含まれていないことと、 TextOut()では変更されませんとExtTextOut()、非透過モードの場合でも。複数行のテキストを出力する場合は、(tmHeight + tmExternalLeading) で行を区切る必要があります。

 Character Width                       Character Width
| |
|-------------| |-------------|
| | / / |
| | / / |
| | / / |
| | / / |
|----------| /----------/ |
| | / / |
| | / / |
| | / / |
| | / / |
|________|
|_____________| |_____________| |
| | Overhang
Character width Character width
(including white space) (including white space)
Overhang = 0 Overhang > 0

オーバー ハング

tmOverhang を指定、文字列の一部の合成フォントに追加することがあります余分な幅ごと。太字や斜体などのいくつかの属性を同期化することは、ときに GDI またはデバイスの両方の文字列の幅を追加するのには必要があります、文字、文字列あたりの単位です。などの GDI では、文字間隔を拡大し、オフセットを重ね打ちすることによって embolding を合成して、文字列に移動して、フォントを斜体にします。


どちらの場合では、過去の基本的な文字列オーバー ハングします。太字の文字列を上書きをオフセットする距離です。文字列を斜体にするには、それは、過去のフォントのフォントの最上部が曲がっています。tmOverhang により、1 つの文字で、 GetTextExtent()の呼び出しによって返される文字の幅の量を決定するアプリケーションは、実際の文字幅とは、文字列あたりの割り増しの幅。実際の幅は、突出部分以下程度です。つまり、tmOverhang は、出力片方向の幅と文字列の内部である場合と、文字の幅の違いです。


詳細については、Windows ソフトウェア開発キットの参照では、次のトピックを検索します。


  • CreateFont() ボリューム 1 のバージョン 3.0 の参照の)
  • 受け取る バージョン 3.0 リファレンス ボリューム 2)
プロパティ

文書番号:32667 - 最終更新日: 2017/02/01 - リビジョン: 1

フィードバック