複製鏈接
請複製以下鏈接發送給好友

LOGFONT

鎖定
在Windows內部,字體是以一個名為LOGFONT的結構來表示。
外文名
LOGFONT
應用系統
Windows
表示方法
LOGFONT的結構來表示
結構體原型
typedef struct

目錄

LOGFONT結構體原型

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;

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,圖形設備接口將使用默認的字體名。