NEWTEXTMETRICA 構造体 (wingdi.h)

NEWTEXTMETRIC 構造体には、物理フォントを記述するデータが含まれています。

構文

typedef struct tagNEWTEXTMETRICA {
  LONG  tmHeight;
  LONG  tmAscent;
  LONG  tmDescent;
  LONG  tmInternalLeading;
  LONG  tmExternalLeading;
  LONG  tmAveCharWidth;
  LONG  tmMaxCharWidth;
  LONG  tmWeight;
  LONG  tmOverhang;
  LONG  tmDigitizedAspectX;
  LONG  tmDigitizedAspectY;
  BYTE  tmFirstChar;
  BYTE  tmLastChar;
  BYTE  tmDefaultChar;
  BYTE  tmBreakChar;
  BYTE  tmItalic;
  BYTE  tmUnderlined;
  BYTE  tmStruckOut;
  BYTE  tmPitchAndFamily;
  BYTE  tmCharSet;
  DWORD ntmFlags;
  UINT  ntmSizeEM;
  UINT  ntmCellHeight;
  UINT  ntmAvgWidth;
} NEWTEXTMETRICA, *PNEWTEXTMETRICA, *NPNEWTEXTMETRICA, *LPNEWTEXTMETRICA;

メンバー

tmHeight

文字の高さ (上昇 + 降下)。

tmAscent

文字のアセント (基準線の上の単位)。

tmDescent

文字の降下 (基準線の下の単位)。

tmInternalLeading

tmHeight メンバーによって設定された境界内の先頭 (スペース) の量。 この領域には、アクセント 記号やその他の分音記号が含まれる場合があります。 デザイナーは、このメンバーを 0 に設定できます。

tmExternalLeading

アプリケーションが行間に追加する余分な先頭 (スペース) の量。 この領域はフォントの外側であるため、マークは含まれていないため、OPAQUE モードまたは TRANSPARENT モードのテキスト出力呼び出しによって変更されません。 デザイナーは、このメンバーを 0 に設定できます。

tmAveCharWidth

フォント内の文字の平均幅 (通常は文字 x の幅として定義されます)。 この値には、太字または斜体の文字に必要なオーバーハングは含まれません。

tmMaxCharWidth

フォントで幅が最も広い文字の幅。

tmWeight

フォントの太さ。

tmOverhang

一部の合成フォントに追加される、文字列あたりの割り増しの幅。 太字や斜体などの一部の属性を合成する場合、グラフィックス デバイス インターフェイス (GDI) またはデバイスでは、文字単位と文字列単位の両方で文字列に幅を追加する必要がある場合があります。 たとえば、GDI では、各文字の間隔を広げ、オフセット値でオーバースリックすることで、文字列を太字にします。文字列をシャーリングしてフォントを斜体にします。 どちらの場合も、基本文字列の後にオーバーハングがあります。 太字の文字列の場合、オーバーハングはオーバーストロークがオフセットされる距離です。 斜体の文字列の場合、オーバーハングは、フォントの上部がフォントの下部を越えてせん断される量です。

tmOverhang メンバーを使用すると、アプリケーションは、1 つの文字に対する GetTextExtentPoint32 関数呼び出しによって返される文字幅の量が実際の文字幅であり、文字列ごとの余分な幅がどのくらいであるかを判断できます。 実際の幅は、範囲からオーバーハングを引いた値です。

tmDigitizedAspectX

そのフォントのデザイン対象となったデバイスにおける水平アスペクト。

tmDigitizedAspectY

そのフォントのデザイン対象となったデバイスにおける垂直アスペクト。 tmDigitizedAspectX メンバーと tmDigitizedAspectY メンバーの比率は、フォントが設計されたデバイスの縦横比です。

tmFirstChar

フォントで定義されている最初の文字の値。

tmLastChar

フォントで定義された最後の文字の値。

tmDefaultChar

フォントに含まれていない文字に置き換える文字の値。

tmBreakChar

テキストの位置揃えの単語区切りを定義するために使用する文字の値。

tmItalic

斜体フォントが 0 以外の場合。

tmUnderlined

0 以外の場合は下線付きフォント。

tmStruckOut

0 以外の場合は取り消し線フォント。

tmPitchAndFamily

選択したフォントのピッチとファミリ。 下位ビット (ビット 0) は、フォントのピッチを指定します。 1 の場合、フォントは可変ピッチ (または比例) になります。 0 の場合、フォントは固定ピッチ (またはモノスペース) になります。 ビット 1 と 2 はフォントの種類を指定します。 両方のビットが 0 の場合、フォントはラスター フォントです。ビット 1 が 1 で、ビット 2 が 0 の場合、フォントはベクター フォントになります。ビット 1 が 0 でビット 2 が設定されている場合、または両方のビットが 1 の場合、フォントは他の型になります。 フォントがデバイス フォントの場合、ビット 3 は 1 です。それ以外の場合は 0 です。

4 つの上位ビットはフォント ファミリを指定します。 tmPitchAndFamily メンバーは、ビットごとの AND 演算子を使用して0xF0 16 進数の値と組み合わせることができ、同一の一致を得るためのフォント ファミリ名と比較できます。 フォント ファミリの詳細については、「 LOGFONT」を参照してください。

tmCharSet

フォントの文字セット。

ntmFlags

フォントが斜体、アンダースコア、アウトライン、太字のいずれであるかを指定します。 次の値の任意の合理的な組み合わせである場合があります。

ビット 名前 意味
0 NTM_ITALIC 斜体
5 NTM_BOLD 太字
8 NTM_REGULAR レギュラー
16 NTM_NONNEGATIVE_AC フォントのどのサイズにも負の A または C スペースを持つグリフはありません。
17 NTM_PS_OPENTYPE PostScript OpenType フォント
18 NTM_TT_OPENTYPE TrueType OpenType フォント
19 NTM_MULTIPLEMASTER 複数のマスター フォント
20 NTM_TYPE1 「1 フォント」と入力します
21 NTM_DSIG デジタル署名付きのフォント。 これにより、追跡が可能になり、フォントがテストされ、破損しないようにします

ntmSizeEM

フォントの em 四角形のサイズ。 この値は、概念単位 (つまり、フォントが設計された単位) です。

ntmCellHeight

フォントの高さ (概念単位)。 この値は、 ntmSizeEM メンバーの値と比較する必要があります。

ntmAvgWidth

フォント内の文字の平均幅 (概念単位)。 この値は、 ntmSizeEM メンバーの値と比較する必要があります。

解説

NEWTEXTMETRIC 構造体の最後の 4 つのメンバーは、TEXTMETRIC 構造体には含まれません。他のすべての点では、構造は同じです。

通常、NEWTEXTMETRIC 構造体のサイズは論理単位で指定されます。つまり、表示コンテキストの現在のマッピング モードに依存します。

注意

wingdi.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして NEWTEXTMETRIC を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header wingdi.h (Windows.h を含む)

関連項目

EnumFontFamilies

フォントとテキストの構造

フォントとテキストの概要

GetTextExtentPoint32

GetTextMetrics

Logfont