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
設計字型之裝置的垂直外觀。 tmDigitizedAspectX 和 tmDigitizedAspectY 成員的比例是設計字型的裝置外觀比例。
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) |