主页->库函数目录->文字输出相关函数->LOGFONT 结构体 功能: 这个结构体定义了字体的属性。 声明:struct LOGFONT { 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]; };成员 lfHeight 指定高度(逻辑单位)。 如果为正,表示指定的高度是字体的完整高度;如果为负,表示指定的高度不包含tmInternalLeading的高度。也就是说相同绝对值下,负的比正的会稍高一些;而实际输出的字体高度,正数时精确匹配,负数时,和实际略有偏差,绝对值比实际的略小。 lfWidth 指定字符的平均宽度(逻辑单位)。如果为 0,则比例自适应。 lfEscapement 字符串的书写角度,单位 0.1 度,默认为 0。 lfOrientation 每个字符的书写角度,单位 0.1 度,默认为 0。 lfWeight 字符的笔画粗细,范围 0~1000,0 表示默认粗细,使用数字或下表中定义的宏均可。
宏 | 粗细值 |
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 |
值 | 含义 |
OUT_DEFAULT_PRECIS | 指定默认的映射行为。 |
OUT_DEVICE_PRECIS | 当系统包含多个名称相同的字体时,指定设备字体。 |
OUT_OUTLINE_PRECIS | 指定字体映射选择 TrueType 和其它的 outline-based 字体。 |
OUT_RASTER_PRECIS | 当系统包含多个名称相同的字体时,指定光栅字体(即点阵字体)。 |
OUT_STRING_PRECIS | 这个值并不能用于指定字体映射,只是指定点阵字体枚举数据。 |
OUT_STROKE_PRECIS | 这个值并不能用于指定字体映射,只是指定 TrueType 和其他的 outline-based 字体,以及矢量字体的枚举数据。 |
OUT_TT_ONLY_PRECIS | 指定字体映射只选择 TrueType 字体。如果系统中没有安装 TrueType 字体,将选择默认操作。 |
OUT_TT_PRECIS | 当系统包含多个名称相同的字体时,指定 TrueType 字体。 |
值 | 含义 |
CLIP_DEFAULT_PRECIS | 指定默认的剪辑行为。 |
CLIP_STROKE_PRECIS | 这个值并不能用于指定字体映射,只是指定光栅(即点阵)、矢量或 TrueType 字体的枚举数据。 |
CLIP_EMBEDDED | 当使用内嵌的只读字体时,必须指定这个标志。 |
CLIP_LH_ANGLES | 如果指定了该值,所有字体的旋转都依赖于坐标系统的方向是逆时针或顺时针。如果没有指定该值,设备字体始终逆时针旋转,但是其它字体的旋转依赖于坐标系统的方向。该设置影响 lfOrientation 参数的效果。 |
值 | 含义 |
ANTIALIASED_QUALITY | 指定输出质量是抗锯齿的(如果字体支持)。 |
DEFAULT_QUALITY | 指定输出质量不重要。 |
DRAFT_QUALITY | 草稿质量。字体的显示质量是不重要的。对于光栅字体(即点阵字体),缩放是有效的,这就意味着可以使用更多的尺寸,但是显示质量并不高。如果需要,粗体、斜体、下划线和删除线字体会被合成。 |
NONANTIALIASED_QUALITY | 指定输出质量不是抗锯齿的。 |
PROOF_QUALITY | 正稿质量。指定字体质量比匹配字体属性更重要。对于光栅字体(即点阵字体),缩放是无效的,会选用其最接近的字体大小。虽然选中 PROOF_QUALITY 时字体大小不能精确地映射,但是输出质量很高,并且不会有畸变现象。如果需要,粗体、斜体、下划线和删除线字体会被合成。 |
值 | 含义 |
DEFAULT_PITCH | 指定默认间距。 |
FIXED_PITCH | 指定固定间距。 |
VARIABLE_PITCH | 指定可变间距。 |
值 | 含义 |
FF_DECORATIVE | 指定特殊字体。例如 Old English。 |
FF_DONTCARE | 指定字体系列不重要。 |
FF_MODERN | 指定具有或不具有衬线的等宽字体。例如,Pica、Elite 和 Courier New 都是等宽字体。 |
FF_ROMAN | 指定具有衬线的等比字体。例如 MS Serif。 |
FF_SCRIPT | 指定设计为类似手写体的字体。例如 Script 和 Cursive。 |
FF_SWISS | 指定不具有衬线的等比字体。例如 MS Sans Serif。 |