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 [デスクトップ アプリのみ] |
ヘッダー | wingdi.h (Windows.h を含む) |
関連項目
EnumFontFamilies を
GetTextExtentPoint32 の
GetTextMetrics を
LOGFONT の