windows中 字体大小单位之间的关系

 1 typedef struct tagLOGFONTA {
 2   LONG lfHeight;
 3   LONG lfWidth;
 4   LONG lfEscapement;
 5   LONG lfOrientation;
 6   LONG lfWeight;
 7   BYTE lfItalic;
 8   BYTE lfUnderline;
 9   BYTE lfStrikeOut;
10   BYTE lfCharSet;
11   BYTE lfOutPrecision;
12   BYTE lfClipPrecision;
13   BYTE lfQuality;
14   BYTE lfPitchAndFamily;
15   CHAR lfFaceName[LF_FACESIZE];
16 } LOGFONTA, *PLOGFONTA, *NPLOGFONTA, *LPLOGFONTA;

 

lfHeight 字体高度的逻辑单位,与像素单位pix 磅point之间的换算:
lfHeight = -MulDiv(PointSize,GetDeviceCaps(hDC,LOGPIXELSY),72);
GetDeviceCaps()物理长度与屏幕像素间的转换

对于dpi = 96的显示器
1pt = 1/72;
1px = 1/96;
1pt = 1px * 0.75;

emsize与字体和系统映射有关,表示一个百分比。
posted @ 2019-04-17 10:17  ffffffffffffffffffff  阅读(382)  评论(0)    收藏  举报