TEXTMETRIC 结构
Posted yangyuqing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 的宽度) 2. 字体中大写字符的平均宽度一般是该值的 1.5 倍计算 3. 此值不包括字体所需要的加粗和倾斜字符 |
tmMaxCharWidth | 字体中最宽字符的宽度 |
tmWeight | 字体的粗细轻重程度 |
tmOverhang | 加入某些拼接字体上的附加高度 |
tmDigitizedAspectX | 字体设计所针对的设备水平方向 |
tmDigitizedAspectY | 字体设计所针对的设备垂直方向 |
tmFirstChar | 为字体定义的第一个字符 |
tmLastChar | 为字体定义的最后一个字符 |
tmDefaultChar | 字体中所没有字符的替代字符 |
tmBreakChar | 定义文本对齐截断操作所显示的字符 |
tmItalic | 如果该值非零,则为斜体字体 |
tmUnderlined | 如果该值非零,则为带下横线字体 |
tmStruckOut | 如果该值非零,则为带删除线字体(字符中间画一条线) |
tmPitchAndFamily | 1. 如果低位为 0,表示等宽字体,小写和大写字母平均宽度一样 2. 如果低位为 1,表示变宽字体,大写字母是小写平均宽度的 3/2 倍 |
tmCharSet | 字体的字符集 |
以上是关于TEXTMETRIC 结构的主要内容,如果未能解决你的问题,请参考以下文章