TEXTMETRIC 结构
TEXTMETRIC 结构记录当前设备环境中有关字体的各种信息。
TEXTMETRIC 结构成员的值的单位取决于设备环境中当前选定的映射模式,默认的映射模式是 MM_TEXT,所以它们的值是以像素为单位的。
结构原型:
typedef struct tagTEXTMETRIC {
LONG tmHeight;
LONG tmAscent;
LONG tmDescent;
LONG tmInternalLeading;
LONG tmExternalLeading;
LONG tmAveCharWidth;
LONG tmMaxCharWidth;
LONG tmWeight;
LONG tmOverhang;
LONG tmDigitizedAspectX;
LONG tmDigitizedAspectY;
TCHAR tmFirstChar;
TCHAR tmLastChar;
TCHAR tmDefaultChar;
TCHAR tmBreakChar;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
} TEXTMETRIC, *PTEXTMETRIC;
成员解析:
|
成员 |
含义 |
|
tmHeight |
字符高度(tmAscent + tmDescent) |
|
tmAscent |
字符上部高度(基线以上) |
|
tmDescent |
字符下部高度(基线以下) |
|
tmInternalLeading |
内部间距(包含在 tmHeight 中),该间距通常被用于显示重音符号 |
|
tmExternalLeading |
外部间距,这个值是字体设计者建议在两行文字间留出的空间大小 |
|
tmAveCharWidth |
1. 字体中小写字符的平均宽度(一般定义为字母 x 的宽度) |
|
tmMaxCharWidth |
字体中最宽字符的宽度 |
|
tmWeight |
字体的粗细轻重程度 |
|
tmOverhang |
加入某些拼接字体上的附加高度 |
|
tmDigitizedAspectX |
字体设计所针对的设备水平方向 |
|
tmDigitizedAspectY |
字体设计所针对的设备垂直方向 |
|
tmFirstChar |
为字体定义的第一个字符 |
|
tmLastChar |
为字体定义的最后一个字符 |
|
tmDefaultChar |
字体中所没有字符的替代字符 |
|
tmBreakChar |
定义文本对齐截断操作所显示的字符 |
|
tmItalic |
如果该值非零,则为斜体字体 |
|
tmUnderlined |
如果该值非零,则为带下横线字体 |
|
tmStruckOut |
如果该值非零,则为带删除线字体(字符中间画一条线) |
|
tmPitchAndFamily |
1. 如果低位为 0,表示等宽字体,小写和大写字母平均宽度一样 |
|
tmCharSet |
字体的字符集 |
如下图:





