字体宽度比率:GetTextExtent32与Word和PDF

时间:2013-12-23 20:10:20

标签: winapi fonts

GetTextExtent32返回不同的字符宽度比(例如,'9'与空格的宽度),而不是Word或Acrobat在显示相同字体时使用(例如,10磅Arial)。

这很重要,因为我正在尝试准备剪贴板字符串,这些字符串将粘贴到不支持太多格式化的应用程序(没有标签或表格),但我仍然需要对齐某些信息列。我试图通过动态计算我需要插入的空格数来克服这个挑战(记住,不允许使用标签!)。

例如,使用选定的Arial 10-point字体调用GetTextExtent32,数字“9”的逻辑单元宽度为7,空间的逻辑单元宽度为4。使用像DrawText这样的东西时,这个比例证明是正确的。

但是,当我将字符串导出到Word或Acrobat时,事实证明,此示例字体中的2个空格恰好等于一个9的宽度(无论是查看单个9还是9个连续的9)。我对字体知之甚少,但它似乎没有任何一种并置问题;对于a和c宽度,GetCharABCWidths显示0。

有谁知道为什么Word和Acrobat没有像Windows本身那样显示给定字体的相同比例/尺寸?有没有办法计算这个?

0 个答案:

没有答案