共用方式為


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

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

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)

另請參閱

EnumFontFamilies

字型和文字結構

字型和文字概觀

GetTextExtentPoint32

GetTextMetrics

LOGFONT