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成員所設定界限內的前置 (空間量) 。 輔色標記和其他變音符號字元可能會在此區域中發生。 設計工具可能會將此成員設定為零。
tmExternalLeading
應用程式在資料列之間新增的額外前置 (空間量) 。 由於此區域位於字型外部,因此不會包含任何標記,而且不會由 OPAQUE 或 TRANSPARENT 模式中的文字輸出呼叫改變。 設計工具可能會將此成員設定為零。
tmAveCharWidth
字型中字元的平均寬度 (通常定義為字母 x) 的寬度。 這個值不包含粗體或斜體字元所需的加法。
tmMaxCharWidth
字型中最寬字元的寬度。
tmWeight
字型的粗細。
tmOverhang
每個字串的額外寬度,可以加入至某些合成字型。 合成某些屬性時,例如粗體或斜體,圖形裝置介面 (GDI) ,或裝置可能必須以每個字元和每一字串為基礎,將寬度新增至字串。 例如,GDI 藉由展開每個字元的間距,並以位移值覆寫來使字串變成粗體;它會藉由剪下字串來斜體化字型。 不論是哪一種情況,基底字元串都有一個過長。 若為粗體字串,上方是超載位移所依據的距離。 對於斜體字串而言,過度交集是字型頂端貼滿字型底部的數量。
tmOverhang成員可讓應用程式判斷單一字元上GetTextExtentPoint32函數呼叫所傳回的字元寬度是實際字元寬度,以及每一字串額外寬度有多少。 實際寬度是範圍減去加號。
tmDigitizedAspectX
裝置的水平外觀 (字型是為此裝置而設計的)。
tmDigitizedAspectY
裝置的垂直外觀 (字型是為此裝置而設計的)。 tmDigitizedAspectX和tmDigitizedAspectY成員的比例是設計字型之裝置的外觀比例。
tmFirstChar
字型中定義之第一個字元的值。
tmLastChar
字型中所定義最後一個字元的值。
tmDefaultChar
要取代為不在字型中的字元的字元值。
tmBreakChar
要用來定義文字對齊之斷詞符號的字元值。
tmItalic
如果是非零的斜體字型。
tmUnderlined
如果字型為非零,則為底線字型。
tmStruckOut
如果是非零,則為刪除線字型。
tmPitchAndFamily
所選字型的音調和系列。 低序位 (位 0) 指定字型的音調。 如果是 1,字型會是可變音調 (或成正比) 。 如果是 0,字型會固定間距 (或單空格) 。 位 1 和 2 指定字型類型。 如果這兩個位都是 0,則字型是點陣字型;如果 bit 1 為 1 且 bit 2 為 0,則字型為向量字型;如果位 1 為 0 且已設定位 2,或兩個位都是 1,則字型為其他類型。 如果字型是裝置字型,則位 3 為 1;否則為 0。
四個高序位會指定字型系列。 tmPitchAndFamily成員可以使用位 AND 運算子來結合十六進位值0xF0,然後可以與字型系列名稱進行比較,以取得完全相同的相符專案。 如需字型系列的詳細資訊,請參閱 LOGFONT。
tmCharSet
字型的字元集。
ntmFlags
指定字型是否為斜體、底線、外框、粗體等等。 可以是下列值的任何合理組合。
bit | 名稱 | 意義 |
---|---|---|
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結構的最後四個成員不包含在TEXTMETRIC結構中;在所有其他方面,結構都相同。
NEWTEXTMETRIC結構的大小通常會以邏輯單元指定;也就是說,它們取決於顯示內容的目前對應模式。
注意
wingdi.h 標頭會將 NEWTEXTMETRIC 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
標頭 | wingdi.h (包含 Windows.h) |