共用方式為


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

裝置的垂直外觀 (字型是為此裝置而設計的)。 tmDigitizedAspectXtmDigitizedAspectY 成員的比例是設計字型的裝置外觀比例。

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
Windows 的韓文版本:
  • JOHAB_CHARSET
Windows 的中東語言版本:
  • ARABIC_CHARSET
  • HEBREW_CHARSET
泰文版本的 Windows:
  • THAI_CHARSET

備註

注意

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

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
標頭 wingdi.h (包含 Windows.h)

另請參閱

字型和文字結構

字型和文字概觀

GetTextExtentPoint32

GetTextMetrics

LOGFONT