字体映射演算法

字体映射演算法_4分词条

 

目录 [隐藏]

字体映射演算法 简介

       

在设定了逻辑字体结构後,呼叫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。

附图

上传图片 

互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。如需转载,请注明来源于www.hudong.com

被引用: 本词条已被如下媒体引用 我来补充
开放分类: 我来补充
算法

讨论区

更多>>

编辑者

共2人协作

相关词条

3dmax
中文CleraType字体
API库函数
显卡
X Window核心协议
常用快捷键
字体
流形
ClearType
桌面出版
更多

Copyright © 2005-2009 hudong.com Ltd. All Rights Reserved. 互动在线 版权所有