感谢 Greg 输入,这就是字符串的形成方式。第一部分似乎与平台无关。
1 |Envy Code R|7.75 |0
version|name |height|style
其余的取决于平台。
WINDOWS |1 |-11 |0 |0 |0 |400 |0 |0 |0 |0 |3 |2 |1 |49
platform|version2|lfHeight|lfWidth|lfEscapement|lfOrientation|lfWeight|lfItalic|lfUnderline|lfStrikeOut|lfCharSet|lfOutPrecision|lfClipPrecision|lfQuality|lfPitchAndFamily
而在 Windows 中由 Class 表示
public abstract class LOGFONT {
public int lfHeight;
public int lfWidth;
public int lfEscapement;
public int lfOrientation;
public int lfWeight;
public byte lfItalic;
public byte lfUnderline;
public byte lfStrikeOut;
public byte lfCharSet;
public byte lfOutPrecision;
public byte lfClipPrecision;
public byte lfQuality;
public byte lfPitchAndFamily;
public static final int sizeof = OS.IsUnicode ? OS.LOGFONTW_sizeof () : OS.LOGFONTA_sizeof ();
}
这显然是 C 结构的“副本”:
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, *PLOGFONT;