请输入您要查询的百科知识:

 

词条 字体映射演算法
释义

§ 简介

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

随便看

 

百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/20 5:08:01