NEWTEXTMETRIC

【勇芳软件工作室】汉化HomePreviousNext

NEWTEXTMETRIC结构包含描述物理字体的数据。

typedef struct tagNEWTEXTMETRIC { Specifies the average width of characters in the font (generally defined as the width of the letter x).

LONG tmHeight;

LONG tmAscent;

LONG tmDescent;

LONG tmInternalLeading;

LONG tmExternalLeading;

LONG tmAveCharWidth;

LONG tmMaxCharWidth;

LONG tmWeight;

LONG tmOverhang;

LONG tmDigitizedAspectX;

LONG tmDigitizedAspectY;

BCHAR tmFirstChar;

BCHAR tmLastChar;

BCHAR tmDefaultChar;

BCHAR tmBreakChar;

BYTE tmItalic;

BYTE tmUnderlined;

BYTE tmStruckOut;

BYTE tmPitchAndFamily;

BYTE tmCharSet;

DWORD ntmFlags;

UINT ntmSizeEM;

UINT ntmCellHeight;

UINT ntmAvgWidth;

} NEWTEXTMETRIC;

会员

tmHeight中

指定字符的高度(上升+下降)。

tmAscentca

指定字符的上升(基线以上的单位)。

tmDescent

指定字符的下降(基线以下的单位)。

tmInternalLeading

指定由tmHeight中成员设置的边界内的前导(空格)的数量。这个区域可能会出现重音和其他变音符号。设计人员可以将此成员设置为零。

tmExternalLeading

指定应用程序在行之间添加的额外引导(空格)的数量。由于该区域不在字体之外,它不包含任何标记,并且在OPAQUE或TRANSPARENT模式下的文本输出调用不会更改。设计人员可以将此成员设置为零。

tmAveCharWidth

指定字体中字符的平均宽度(通常定义为字母x的宽度)。该值不包括粗体或斜体字符所需的悬垂。

tmMaxCharWidth

指定字体中最宽字符的宽度。

tmWeight

指定字体的重量。

tmOverhang

指定可能添加到某些合成字体的每个字符串的额外宽度。当合成一些属性(例如粗体或斜体)时,图形设备接口(GDI)或设备可能必须在每个字符和每个字符串的基础上为字符串添加宽度。例如,GDI通过扩展每个字符的间距并通过一个偏移值来突出显示字符串粗体;它通过剪切字符串来斜体字体。无论哪种情况,基本字符串都有一个突出端。对于粗体字符串,突出部分是偏移距离。对于斜体字符串,悬垂是通过字体底部剪切字体顶部的量。

tmOverhang成员使应用程序可以确定单个字符上的GetTextExtentPoint32函数调用返回的字符宽度是实际字符宽度,每字符串额外宽度多少。实际宽度是减去突出端的程度。

tmDigitizedAspectX

指定设计字体的设备的水平方面。

tmDigitizedAspectY

指定设计字体的设备的垂直方面。tmDigitizedAspectXtmDigitizedAspectY成员的比例是设计字体的设备的宽高比。

tmFirstChar

指定字体中定义的第一个字符的值。

tmLastChar

指定字体中定义的最后一个字符的值。

tmDefaultChar

指定要替换为不在字体中的字符的字符的值。

tmBreakChar

指定用于定义文本对齐的单词的字符的值。

tmItalicel-Latn

指定一个斜体字体,如果它是非零。

tmUnderlined

如果非零,则指定下划线字体。

tmStruckOut

指定一个删除字体,如果它是非零。

tmPitchAndFamily

指定所选字体的音高和系列。低位(位0)指定字体的间距。如果为1,则字体为可变间距(或比例)。如果为0,则字体为固定间距(或等宽)。位1和2指定字体类型。如果两位均为0,则字体为光栅字体;如果位1为1且位2为0,则字体为向量字体;如果位1为0且位2置1,或者两位为1,则字体为其他类型。如果字体是设备字体,则位3为1;否则为0。

四个高位指定字体系列。可以使用按位AND运算符将tmPitchAndFamily成员与十六进制值0xF0进行组合,然后将其与字体系列名称进行比较,以进行相同匹配。有关字体系的更多信息,请参阅LOGFONT结构。

tmCharSet

指定字体的字符集。

Specifies whether the font is italic, underscored, outlined, bold, and so forth.

指定字体是斜体,下划线,粗体,粗体等。以下列表显示与每种字体类型对应的位:

含义
0斜体
1下划线
2
3大纲
4三振出局
5粗体

ntmSizeEM

指定字体的em方形的大小。该值为“名义单位”(即字体设计的单位)。

ntmCellHeight

以名义单位指定字体的高度。该值应与ntmSizeEM成员的值进行比较。

ntmAvgWidth

指定字体中字符的平均宽度,以名义单位。该值应与ntmSizeEM成员的值进行比较。

备注

NEWTEXTMETRIC结构的最后四个成员不包括在TEXTMETRIC结构中;在所有其他方面,结构是相同的。

NEWTEXTMETRIC结构中的大小通常以逻辑单位给出;也就是说,它们取决于显示上下文的当前映射模式。

也可以看看

EnumFontFamilies, GetTextExtentPoint32, GetTextMetrics, LOGFONT