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 成員所設定界限內的前置 (空間量) 。 輔色和其他聽寫字元可能會在此區域中發生。 設計工具可能會將此成員設定為零。
tmExternalLeading
應用程式在數據列之間新增的額外前置 (空間量) 。 由於這個區域不在字型之外,所以它不包含任何標記,而且不會由 OPAQUE 或 TRANSPARENT 模式中的文字輸出呼叫改變。 設計工具可能會將此成員設定為零。
tmAveCharWidth
字型中字元的平均寬度 (通常定義為字母 x ) 的寬度。 這個值不包含粗體或斜體字元所需的加號。
tmMaxCharWidth
字型中最寬字元的寬度。
tmWeight
字型的粗細。
tmOverhang
每個字串的額外寬度,可以加入至某些合成字型。 合成某些屬性時,例如粗體或斜體,圖形裝置介面 (GDI) 或裝置可能必須以個別字元和每一字串為基礎,將寬度新增至字元串。 例如,GDI 藉由展開每個字元的間距,並以位移值覆寫,使字串變成粗體;它會藉由剪下字串來斜體化字型。 不論是哪一種情況,都超過基本字串。 對於粗體字串,上方是超載位移的距離。 對於斜體字串,上方是字型頂端經過字型底部的剪下量。
tmOverhang 成員可讓應用程式判斷在單一字元上 GetTextExtentPoint32 函數呼叫所傳回的字元寬度是實際字元寬度,以及每一字元串額外寬度有多少。 實際寬度是範圍減去加號。
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 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
標頭 | wingdi.h (包含 Windows.h) |