打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
LOGFONT(2013年)| 微软学习
userphoto

2022.09.23 云南

关注
这个结构定义了字体的属性。
句法
typedef struct tagLOGFONT { LONG lfHeight; LONG lfWidth; LONG lfEscapement; LONG lfOrientation; LONG lfWeight; BYTE lfItalic; BYTE lfUnderline; BYTE lfStrikeOut; BYTE lfCharSet; BYTE lfOutPrecision; BYTE lfClipPrecision; BYTE lfQuality; BYTE lfPitchAndFamily; TCHAR lfFaceName[LF_FACESIZE]; } LOGFONT; 成员
lfHeight
以逻辑单位指定字体的字符单元或字符的高度。字符高度值(也称为 em 高度)是字符单元格高度值减去内部前导值。字体映射器以下列方式解释lfHeight中指定的值。
价值
描述
> 0
字体映射器将此值转换为设备单位,并将其与可用字体的单元格高度进行匹配。
0
字体映射器在搜索匹配项时使用默认高度值。
< 0
字体映射器将此值转换为设备单位,并将其绝对值与可用字体的字符高度进行匹配。
对于所有高度比较,字体映射器会查找不超过请求大小的最大字体。
这种映射在第一次使用字体时发生。
对于 MM_TEXT 映射模式,您可以使用以下公式为具有给定磅值的字体指定高度。
lfHeight = -MulDiv(PointSize, GetDeviceCaps(hDC, LOGPIXELSY), 72);
其中MulDiv定义如下:
#define MulDiv(a,b,c) (((a)*(b))/(c))
lfWidth
以逻辑单位指定字体中字符的平均宽度。如果lfWidth不为零,则将设备的纵横比与可用字体的数字化纵横比进行匹配,以找到最接近的匹配,由差异的绝对值确定。
lfEscapement
指定擒纵矢量和设备 x 轴之间的角度,以十分之一度为单位。擒纵矢量平行于一行文本的基线。
lfEscapement成员指定擒纵和方向。您应该将lfEscapement和lfOrientation设置为相同的值。
lfOrientation
指定每个字符的基线和设备的 x 轴之间的角度,以十分之一度为单位。
lfWeight
在 0 到 1000 范围内指定字体的粗细。例如,400 是正常的,700 是粗体。如果此值为零,则使用默认权重。
为方便起见,定义了以下值。
价值
重量
FW_DONTCARE
0
FW_THIN
100
FW_EXTRALIGHT
200
FW_ULTRALIGHT
200
FW_LIGHT
300
FW_NORMAL
400
FW_REGULAR
400
FW_MEDIUM
500
FW_SEMIBOLD
600
FW_DEMIBOLD
600
FW_BOLD
700
FW_EXTRABOLD
800
FW_ULTRABOLD
800
FW_HEAVY
900
FW_BLACK
900
lfItalic
如果设置为 TRUE,则指定斜体字体。
lfUnderline
如果设置为 TRUE,则指定带下划线的字体。
lfStrikeOut
如果设置为 TRUE,则指定删除字体。
lfCharSet
指定字符集。以下值是预定义的:
ANSI_CHARSET
BALTIC_CHARSET
CHINESEBIG5_CHARSET
DEFAULT_CHARSET
EASTEUROPE_CHARSET
GB2312_CHARSET
GREEK_CHARSET
HANGUL_CHARSET
MAC_CHARSET
OEM_CHARSET
RUSSIAN_CHARSET
SHIFTJIS_CHARSET
SYMBOL_CHARSET
TURKISH_CHARSET
韩语窗口
JOHAB_CHARSET
中东之窗
HEBREW_CHARSET
ARABIC_CHARSET
泰式窗户
THAI_CHARSET
OEM_CHARSET 值指定一个依赖于操作系统的字符集。
DEFAULT_CHARSET 设置为基于当前系统区域设置的值。例如,当系统区域设置为英语(美国)时,该值为 ANSI_CHARSET。
操作系统中可能存在其他字符集的字体。如果应用程序使用具有未知字符集的字体,则不应尝试翻译或解释使用该字体呈现的字符串。
该成员在字体映射过程中很重要。为确保结果一致,请指定特定字符集。如果您在lfFaceName成员中指定字体名称,请确保lfCharSet值与 lfFaceName 中指定的字体的字符集匹配。
lfOutPrecision
指定输出精度。输出精度定义输出必须与请求字体的高度、宽度、字符方向、转义、间距和字体类型匹配的程度。它可以是以下值之一。
价值
描述
OUT_DEFAULT_PRECIS
指定默认字体映射器行为。
OUT_RASTER_PRECIS
当系统包含多个同名字体时,指示字体映射器选择光栅字体。
OUT_STRING_PRECIS
字体映射器不使用此值,但在枚举光栅字体时返回。
lfClipPrecision
指定剪裁精度。裁剪精度定义了如何裁剪部分位于裁剪区域之外的字符。它可以是以下一个或多个值。
价值
描述
CLIP_DEFAULT_PRECIS
指定默认剪裁行为。
CLIP_CHARACTER_PRECIS
不曾用过。
CLIP_STROKE_PRECIS
字体映射器不使用,但在枚举光栅、矢量或 TrueType 字体时返回。
lfQuality
指定输出质量。输出质量定义了图形设备接口 (GDI) 必须多仔细地尝试将逻辑字体属性与实际物理字体的属性相匹配。它可以是以下值之一。
价值
描述
ANTIALIASED_QUALITY
为字体启用抗锯齿。显示驱动程序必须支持抗锯齿文本才能使此设置生效。
NOANTIALIASED_QUALITY
当HKEY_LOCAL_MACHINE\System\GDI\Fontsmoothing注册表项存在时,强制使用草稿质量。
CLEARTYPE_COMPAT_QUALITY
为使用兼容宽度的字体启用 ClearType® 文本。兼容的宽度会生成与非 ClearType 文本具有相同间距的文本。
CLEARTYPE_QUALITY
为字体启用 ClearType 文本。显示驱动程序必须支持 ClearType 文本才能使此设置起作用。
DEFAULT_QUALITY
字体的外观并不重要。
DRAFT_QUALITY
对于 GDI 光栅字体,启用了缩放,这意味着可以使用更多的字体大小,但质量可能会更低。如有必要,将合成粗体、斜体、下划线和删除线字体。
lfPitchAndFamily
指定字体的间距和系列。两个低位指定字体的间距,可以是以下值之一:
DEFAULT_PITCH
FIXED_PITCH
VARIABLE_PITCH
成员的位 4 到 7 指定字体系列,可以是以下值之一:
FF_DECORATIVE
FF_DONTCARE
FF_MODERN
FF_ROMAN
FF_SCRIPT
FF_SWISS
通过使用布尔或运算符将一个音高常数与一个族常数连接起来,可以获得适当的值。
字体系列以一般方式描述字体的外观。它们用于在所需的确切字体不可用时指定字体。字体系列的值如下。
价值
描述
FF_DECORATIVE
新奇字体,例如古英语。
FF_DONTCARE
不关心或不知道。
FF_MODERN
具有恒定笔画宽度(等宽)的字体,带或不带衬线。等宽字体通常是现代字体,例如 Pica、Elite 和 Courier New。
FF_ROMAN
具有可变笔画宽度(比例)和衬线的字体,例如 Serif。
FF_SCRIPT
设计为看起来像手写的字体,例如 Script 和 Cursive。
FF_SWISS
具有可变笔画宽度(比例)且没有衬线的字体,例如 Sans Serif。
lfFaceName
指定一个以空字符结尾的字符串,该字符串指定字体的字体名称。此字符串的长度不得超过 32 个字符,包括终止空字符。EnumFontFamilies函数可用于枚举所有当前可用字体的字体名称。如果lfFaceName是一个空字符串,GDI 使用与其他指定属性匹配的第一个字体。
评论
Windows Embedded Compact 忽略lfClipPrecision和lfQuality成员,但有一个重要例外。如果安装了光栅字体引擎,则 CLIP_CHARACTER_PRECIS 的IfClipPrecision值将导致创建和选择字体的函数失败。
ClearType 和抗锯齿字体在位深度和颜色掩码均不匹配主表面的表面上不可用。将文本绘制到与主曲面不匹配的曲面会产生草稿质量文本。
要求
Header
wingdi.h
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
CreateFont详解
VS2010/MFC编程入门之四十七(字体和文本输出:CFont字体类)
如何修改CEdit&CB中文本的字体大小及颜色
【新提醒】浏览器出现字体模糊、变细等异常现象的解决方法
CStatic设置文字、字体、颜色和OnCtlColor的使用
让Win10屏幕字体更清晰,你们要学会的技巧!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服