小甲鱼 发表于 2014-7-26 11:51:25

TEXTMETRIC 结构

TEXTMETRIC 结构

TEXTMETRIC 结构记录当前设备环境中有关字体的各种信息。

TEXTMETRIC 结构成员的值的单位取决于设备环境中当前选定的映射模式,默认的映射模式是 MM_TEXT,所以它们的值是以像素为单位的。


结构原型:

typedef struct tagTEXTMETRIC {
LONGtmHeight;
LONGtmAscent;
LONGtmDescent;
LONGtmInternalLeading;
LONGtmExternalLeading;
LONGtmAveCharWidth;
LONGtmMaxCharWidth;
LONGtmWeight;
LONGtmOverhang;
LONGtmDigitizedAspectX;
LONGtmDigitizedAspectY;
TCHAR tmFirstChar;
TCHAR tmLastChar;
TCHAR tmDefaultChar;
TCHAR tmBreakChar;
BYTEtmItalic;
BYTEtmUnderlined;
BYTEtmStruckOut;
BYTEtmPitchAndFamily;
BYTEtmCharSet;
} TEXTMETRIC, *PTEXTMETRIC;

成员解析:


成员 含义
tmHeight 字符高度(tmAscent + tmDescent)
tmAscent 字符上部高度(基线以上)
tmDescent 字符下部高度(基线以下)
tmInternalLeading 内部间距(包含在 tmHeight 中),该间距通常被用于显示重音符号
tmExternalLeading 外部间距,这个值是字体设计者建议在两行文字间留出的空间大小
tmAveCharWidth 1. 字体中小写字符的平均宽度(一般定义为字母 x 的宽度)
2. 字体中大写字符的平均宽度一般是该值的 1.5 倍计算
3. 此值不包括字体所需要的加粗和倾斜字符
tmMaxCharWidth 字体中最宽字符的宽度
tmWeight 字体的粗细轻重程度
tmOverhang 加入某些拼接字体上的附加高度
tmDigitizedAspectX 字体设计所针对的设备水平方向
tmDigitizedAspectY 字体设计所针对的设备垂直方向
tmFirstChar 为字体定义的第一个字符
tmLastChar 为字体定义的最后一个字符
tmDefaultChar 字体中所没有字符的替代字符
tmBreakChar 定义文本对齐截断操作所显示的字符
tmItalic 如果该值非零,则为斜体字体
tmUnderlined 如果该值非零,则为带下横线字体
tmStruckOut 如果该值非零,则为带删除线字体(字符中间画一条线)
tmPitchAndFamily 1. 如果低位为 0,表示等宽字体,小写和大写字母平均宽度一样
2. 如果低位为 1,表示变宽字体,大写字母是小写平均宽度的 3/2 倍
tmCharSet 字体的字符集


【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

WinSDK

Angel丶L 发表于 2014-7-26 12:03:37

支持 了 谢谢分享了

牡丹花下死做鬼 发表于 2014-7-26 12:13:58

支持啊O(∩_∩)O~

sherwin002 发表于 2014-9-25 10:09:02

感谢,这个工作真的很难,特别是还要翻译的通俗易懂。希望能出chm版本的,便于搜索~

hfut_wangfei 发表于 2014-12-10 12:55:05

谢谢分享{:1_1:}
页: [1]
查看完整版本: TEXTMETRIC 结构