当前位置

首页 > 字体知识 >

字体映射演算法

时间: 2021-05-05 16:51
字体映射演算法是在设定了逻辑字体结构后,呼叫CreateFontIndirect来得到逻辑字体代号。当呼叫SelectObject把逻辑字体选入装置内容时,Windows寻找与所需字体最接近匹配的实际字体。它使用「字体映射演算法」。结构的某些栏位要比其他栏位更重要一些。

基本信息
中文名称
字体映射演算法

外文名称
Font mapper


属性
Windows编程接口函数

领域
计算机编程

目录
1概念
2指南
折叠编辑本段概念
在设定了逻辑字体结构后,呼叫CreateFontIndirect来得到逻辑字体代号。当呼叫SelectObject把逻辑字体选入装置内容时,Windows寻找与所需字体最接近匹配的实际字体。它使用「字体映射演算法」。结构的某些栏位要比其他栏位更重要一些。

折叠编辑本段指南
了解字体映射的最好方式是花一些时间试验PICKFONT。以下是几条指南:

lfCharSet(字元集)栏位是非常重要的。如果您指定了OEM_CHARSET(255),会得到某种笔划字体或终端机字体,因为它们是唯一使用OEM字元集的字体。然而,随著TrueType「Big Fonts」的出现(在第六章〈TrueType和大字体〉一节讨论过),单一的TrueType字体能映射到包括OEM字元集等不同的字元集。您需要使用SYMBOL_CHARSET(2) 来得到Symbol字体或Wingdings字体。

lfPitchAndFamily栏位的FIXED_PITCH间距值很重要,因为您实际上告诉Windows不想处理变宽字体。

lfFaceName栏位很重要,因为您指定了所需字体的字样。如果让lfFaceName设定为NULL,并在lfPitchAndFamily栏位中将组值设定为FF_DONTCARE以外的值,因为指定了字体系列,所以该栏位也很重要。

对于点阵字体,Windows会试图配合lfHeight值,即使需要增加较小字体的大小。实际字体的高度总是小於或等于所需的字体,除非没有更小的字体满足您的要求。对于笔划或TrueType字体,Windows仅简单地将字体缩放到需要的高度。

可以通过将lfQuality设定为PROOF_QUALITY来防止Windows缩放点阵字体。这么做可以告诉Windows所需的字体高度没有字体外观重要。

如果指明了对于显示器的特定纵横比不协调的lfHeight和lfWeight值,Windows能映射到为显示器或其他不同纵横比的设备设计的点阵字体。这是得到细或粗字体的技巧(当然,对于TrueType字体是不必要的)。一般而言,您可能想避免为另一种设备挑配字体。您可以通过单击标有「Match Aspect」的核取方块,在PICKFONT中完成。如果选中了核取方块,PICKFONT会使用TRUE参数呼叫SetMapperFlags。
上一篇:音节文字 下一篇:大自然的文字

本页标题:字体映射演算法

本页地址:http://dullr.com/ziti/ziti/zitizhishi/463.html

转载请以链接标题或地址的形式注明出处,谢谢!本站部分文章转自网络整理,如有侵犯您的版权信息,请联系我们删除!