共用方式為


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 成員所設定界限內的前置 (space) 數量。 腔調符號和其他變音符號可能會在此區域中發生。 設計工具可能會將此成員設定為零。

tmExternalLeading

應用程式在數據列之間新增的額外前置 (空格) 數量。 由於此區域位於字型之外,因此不會包含任何標記,而且不會透過OPAQUE或 TRANSPARENT 模式的文字輸出呼叫來改變。 設計工具可能會將此成員設定為零。

tmAveCharWidth

字型中字元的平均寬度(通常定義為字母 x 的寬度)。 此值不包含粗體或斜體字元所需的懸空。

tmMaxCharWidth

字型中最寬字元的寬度。

tmWeight

字型的粗細。

tmOverhang

每個字串的額外寬度,這些字串可能會新增至某些合成字型。 合成某些屬性時,例如粗體或斜體,圖形裝置介面 (GDI) 或裝置可能必須以每個字元和每一字串為基礎,將寬度新增至字串。 例如,GDI 會藉由展開每個字元的間距,並以位移值覆寫,使字串變成粗體;它會藉由剪下字串來斜體化字型。 不論是哪一種情況,基本字串都有懸空。 對於粗體字串,懸空是過度載入位移的距離。 對於斜體字串,懸空是字型頂端剪過字型底部的量。

tmOverhang 成員可讓應用程式判斷單一字元上 GetTextExtentPoint3 2 傳回的字元寬度是實際字元寬度,以及每個字元串額外寬度有多少。 實際寬度是範圍減去懸空。

tmDigitizedAspectX

設計字型之裝置的水平層面。

tmDigitizedAspectY

設計字型之裝置的垂直外觀。 tmDigitizedAspectXtmDigitizedAspectY 成員的比例是設計字型的裝置外觀比例。

tmFirstChar

字型中定義之第一個字元的值。

tmLastChar

字型中定義之最後一個字元的值。

tmDefaultChar

要取代之字元的值,以取代不在字型中的字元。

tmBreakChar

要用來定義文字理由之斷詞符號的字元值。

tmItalic

如果是非零字型,則為斜體字型。

tmUnderlined

如果不是零字型,則為底線字型。

tmStruckOut

如果非零字型,則為刪除線字型。

tmPitchAndFamily

所選字型的音調和系列。 低序位 (位元 0) 會指定字型的音調。 如果是 1,則字型為可變音調(或比例)。 如果是 0,則字型會固定音調(或單一空格)。 位1和2指定字型類型。 如果這兩個位都是0,則字型是點陣字型;如果位 1 為 1 且位 2 為 0,則字型為向量字型;如果位 1 為 0 且已設定位 2,或兩個位都為 1,則字型為其他類型。 如果字型是裝置字型,則位 3 為 1;否則為 0。

四個高序位會指定字型系列。 tmPitchAndFamily 成員可以使用位 AND 運算符與十六進位值結合0xF0,然後可以與字型系列名稱進行比較,以取得完全相同的相符專案。 如需字型系列的詳細資訊,請參閱 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 成員 的值進行比較。

言論

TEXTMETRIC 結構不包含 NEWTEXTMETRIC 結構的最後四個成員:在所有其他方面,結構都相同。

NEWTEXTMETRIC 結構的大小通常會以邏輯單元指定;也就是說,它們相依於顯示內容的目前對應模式。

注意

wingdi.h 標頭會將 NEWTEXTMETRIC 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
標頭 wingdi.h (包括 Windows.h)

另請參閱

EnumFontFamilies

字型和文字結構

字型和文字概觀

GetTextExtentPoint32

GetTextMetrics

LOGFONT