結構體原型
typedef struct tagLOGFONT
{ // lf 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
以邏輯單位指定字型字元元(character cell)或字元的高度。字元高度值為字元元高度值減去內部行距(internal-leading)值。當lfHeight大於0時,字型映射程式將該值轉換為設備單位,並將它與可用字型的字元元高度進行匹配;當該參數為0時,字型映射程度將使用一個匹配的默認高度值;如果參數的值小於0,則將其轉換為設備單位,並將其絕對值與可用字型的字元高度進行匹配。對於任何一種情況,字型映射程度最終得到的字型高度值不會超過所指定的值。以MM_TEXT映射模式下,字型高度值和磅值有如下的換算公式:lfHeight=-MulDiv(PointSize, GetDeviceCaps(hDC, LOGPIXELSY), 72);
lfWidth
以邏輯單位指定字型字元的平均寬度。如果lfWidth的值為0,則根據設備的縱橫比從可用字型的數字轉換縱橫中選取最接近的匹配值,該值通過比較兩者之間的差異的絕對值得出。
lfEscapement
以十分之一度為單位指定每一行文本輸出時相對於頁面底端的角度。
lfOrientation
以十分之一度為單位指定字元基線相對於頁面底端的角度。
lfWeight
指定字型重量。在Windows中,字型重量這個術語用來指代字型的粗細程度。lfWeight的範圍為0到1000,正常情況下的字型重量為400,粗體為700。如果lfWeight為0,則使用默認的字型重量。
lfItalic
當lfItalic為TRUE時使用斜體
lfUnderline
當lfUnderline為TRUE時給字型添加下劃線
lfStrikeOut
當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。
其中,OEM_CHARSET 表示字元集依賴本地作業系統。
DEFAULT_CHARSET 表示字元集基於本地作業系統。例如,系統位置是 English (United States),字元集將設定為 ANSI_CHARSET。
lfOutPrecision
指定輸出精度。輸出精度定義了輸出與所要求的字型高度、寬度、字元方向等的接近程度。它可以為下面的值之一:OUT_CHARACTER_PRECIS、OUT_DEFAULT_PRECIS、OUT_STRING_PRECIS、OUT_STROKE_PRECIS。
lfClipPrecision
指定剪輯精度。剪輯精度定義了當字元的一部分超過剪輯區域時對字元的剪輯方式,它可以為下列值之一:CLIP_CHARACTER_PRECIS、CLIP_DEFAULT_PRECIS、CLIP_STROKE_PRECIS。
lfQuality
定義輸出質量。輸出質量定義了圖形設備接口在匹配邏輯字型屬性到實際的物理字型的所使用的方式,它可以為下列值之一:DEFAULT_QUALITY (默認質量)、DRAFT_QUALITY (草稿質量)、PROOF_QUALITY (正稿質量)。
lfPitchAndFamily
指定字型的字元間距和族。最低兩位指定字型的字元間距為以下值之一:DEFAULT_PITCH、FIXED_PITCH、VARIABLE_PITCH第4到7位指定字型族為以下值之一:FF_DECORATIVE、FF_DONTCARE、FF_MODERN、FF_ROMAN、FF_SCRIPT、FF_SWISS這些值的具體含義可以參考Visual C++中關於結構LOGFONT的文檔。字元間距和字型族可以使用邏輯或(OR)運算符來進行組合。
lfFaceName
一個指定以NULL結尾的字元串,它指定的所用的字型名。該字元串的長度不得超過32個字元,如果lfFaceName為NULL,圖形設備接口將使用默認的字型名。