解析LOGFONT

来源:互联网 发布:淘宝司法拍卖车辆 编辑:程序博客网 时间:2024/05/01 17:23

首先我们先来了解LOGFONT这个结构体:

LOGFONT是Windows内部字体的逻辑结构,主要用于设置字体格式,其定义如下:
typedef struct tagLOGFONTA
{
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;
CHAR lfFaceName[LF_FACESIZE];
} LOGFONTA
其各个字段的含义如下:
lfHeight:指定逻辑单位的字符或者字符元高度。
lfWidth:指定逻辑单位的字体字符的平均宽度。
lfEscapement:指定每行文本输出时相对于设备x轴的角度,其单位为1/10度。
lfOrientation:指定字符基线相对于设备x轴的角度,其单位为1/10度。此值在Win9X中和lfEscapement具有相同的值,而在WinNT下有时候可能不同。
lfWeight:指定字体的重量,Windows中字体重量表示字体的粗细程度,其范围在0~1000之间,正常为400,粗体为700,若此值为空,则使用默认的字体重量。
lfItalic:此值为TRUE时,字体为斜体。
lfUnderline:此值为TRUE时,字体带下划线。
lfStrikeOut:此值为TRUE时,字体带删除线。
lfCharSet:指定所使用的字符集,如GB2312_CHARSET,CHINESEBIG5_CHARSET等。
lfOutPrecision:指定输出精度,它定义了输出与所要求的字体高度、宽度、字符方向及字体类型等相接近的程度。
lfClipPrecision:指定剪辑精度,它定义了当字符的一部分超过剪辑区域时对字符的剪辑方式。
lfQuality:指定输出质量,它定义了GDI在匹配逻辑字体属性到实际的物理字体时所使用的方式。
lfPitchAndFamily:指定字体的字符间距和族。
lfFaceName:指向NULL结尾的字符串的指针,此字符串即为所使用的字体名称,其长度不能超过32个字符,如果为空,则使用系统默认的字体。

 

接着我们自己来获得系统中某种字体的内容:

 

 

这样就可以获得你想要的字体的东西,我这里是需要自己去测试,然后修改的,希望有更好的方法,大家多多提意见!

原创粉丝点击