共用方式為


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

設計字型之裝置的垂直外觀。 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 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
標頭 wingdi.h (包括 Windows.h)

另請參閱

字型和文字結構

字型和文字概觀

GetTextExtentPoint32

GetTextMetrics

LOGFONT