TEXTMETRICA 結構 (wingdi.h)
TEXTMETRIC 結構包含實體字型的基本資訊。 所有大小都會以邏輯單元指定;也就是說,它們相依於顯示內容的目前對應模式。
語法
typedef struct tagTEXTMETRICA {
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;
} TEXTMETRICA, *PTEXTMETRICA, *NPTEXTMETRICA, *LPTEXTMETRICA;
成員
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
指定音調、技術和實體字型系列的相關信息。
這個成員的四個低序位會指定字型音調和技術的相關信息。 會針對四個位中的每個一個定義常數。
不斷 | 意義 |
---|---|
TMPF_FIXED_PITCH | 如果設定此位,則字型為可變音調字型。 如果這個位是清楚的,字型是固定的音調字型。 請仔細注意,這些意義與常數名稱所暗示的相反。 |
TMPF_VECTOR | 如果設定此位,則字型為向量字型。 |
TMPF_TRUETYPE | 如果設定此位,則字型為 TrueType 字型。 |
TMPF_DEVICE | 如果設定此位,則字型為裝置字型。 |
應用程式應該仔細測試以這些低序位編碼的品質,不進行任意假設。 例如,除了有自己的位設定之外,TrueType 和 PostScript 字型會設定TMPF_VECTOR位。 單一空間位圖字型具有所有這些低序位清楚;比例點陣圖字型會設定TMPF_FIXED_PITCH位。 Postscript 印表機裝置字型會設定TMPF_DEVICE、TMPF_VECTOR和TMPF_FIXED_PITCH位。
tmPitchAndFamily 的四個高階位 指定字型系列。 應用程式可以使用值0xF0和位 AND 運算符來遮罩 tmPitchAndFamily的四個低序位,從而取得可與字型系列名稱直接比較的值,以尋找完全相同的相符專案。 如需字型系列的相關信息,請參閱LOGFONT 結構
tmCharSet
字型的字元集。 字元集可以是下列其中一個值。
- ANSI_CHARSET
- BALTIC_CHARSET
- CHINESEBIG5_CHARSET
- DEFAULT_CHARSET
- EASTEUROPE_CHARSET
- GB2312_CHARSET
- GREEK_CHARSET
- HANGUL_CHARSET
- MAC_CHARSET
- OEM_CHARSET
- RUSSIAN_CHARSET
- SHIFTJIS_CHARSET
- SYMBOL_CHARSET
- TURKISH_CHARSET
- VIETNAMESE_CHARSET
- JOHAB_CHARSET
- ARABIC_CHARSET
- HEBREW_CHARSET
- THAI_CHARSET
言論
注意
wingdi.h 標頭會將 TEXTMETRIC 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
標頭 | wingdi.h (包括 Windows.h) |