Структура LOGFONT
Type LOGFONT
lfHeight As Long
lfWidth As Long
lfEscapement As Long
lfOrientation As Long
lfWeight As Long
lfItalic As Byte
lfUnderline As Byte
lfStrikeOut As Byte
lfCharSet As Byte
lfOutPrecision As Byte
lfClipPrecision As Byte
lfQuality As Byte
lfPitchAndFamily As Byte
lfFaceName As String * 32
End Type
Структура LOGFONT содержит информацию о шрифтах
Состав структуры
- lfHeight
- Высота шрифта в логических единицах
- lfWidth
- Ширина шрифта в логических единицах
- lfEscapement
- Угол нанесения текста – угол между базовой линией текста и горизонталью (десятые доли градуса)
- lfOrientation
- Наклон символов (десятые доли градуса)
- lfWeight
- Толщина линий начертания шрифта (“жирность”)
- FW_DONTCARE = 0
- Default weight.
- FW_THIN = 100
- Thin weight.
- FW_EXTRALIGHT = 200
- Extra-light weight.
- FW_ULTRALIGHT = 200
- Аналогично FW_EXTRALIGHT.
- FW_LIGHT = 300
- Light weight.
- FW_NORMAL = 400
- Normal weight.
- FW_REGULAR = 400
- Аналогично FW_NORMAL.
- FW_MEDIUM = 500
- Medium weight.
- FW_SEMIBOLD = 600
- Semi-bold weight.
- FW_DEMIBOLD = 600
- Аналогично FW_SEMIBOLD.
- FW_BOLD = 700
- Bold weight.
- FW_EXTRABOLD = 800
- Extra-bold weight.
- FW_ULTRABOLD = 800
- Аналогично FW_EXTRABOLD.
- FW_HEAVY = 900
- Heavy weight.
- FW_BLACK = 900
- Аналогично FW_HEAVY.
- lfItalic
- Ненулевое значение означает курсив
- lfUnderline
- Ненулевое значение означает подчеркивание
- lfStrikeOut
- Ненулевое значение означает перечеркнутый шрифт
- lfCharSet
- Номер набора символов шрифта – таблицы кодировок
- ANSI_CHARSET = 0
- Кодировка Windows
- ARABIC_CHARSET = 178
- Windows NT/2000: Arabic character set.
- BALTIC_CHARSET = 186
- Windows 95/98: Baltic character set.
- CHINESEBIG5_CHARSET = 136
- Chinese Big 5 character set
- DEFAULT_CHARSET = 1
- Кодировка по умолчанию
- EASTEUROPE_CHARSET = 238
- Windows 95/98: Eastern European character set.
- GB2312_CHARSET = 124
- GB2312 character set.
- GREEK_CHARSET = 161
- Windows 95/98: Greek character set.
- HANGEUL_CHARSET = 129
- HANDEUL character set.
- HEBREW_CHARSET = 177
- Windows NT/2000: Hebrew character set.
- JOHAB_CHARSET = 130
- Windows 95/98: Johab character set.
- MAC_CHARSET = 77
- Windows 95, 98: Mac character set.
- OEM_CHARSET = 255
- Original equipment manufacturer (OEM) character set.
- RUSSIAN_CHARSET = 204
- Windows 95/98: Русская кодировка
- SHIFTJIS_CHARSET = 128
- ShiftJis character set
- SYMBOL_CHARSET = 2
- Символьная кодировка
- THAI_CHARSET = 222
- Windows NT/2000: Thai character set
- TURKISH_CHARSET = 162
- Windows 95/98: Turkish character set
- lfOutPrecision
- Параметр, определяющий соответствие запрашиваемого шрифта и имеющегося в наличии
- OUT_DEFAULT_PRECIS = 0
- The default font mapping behavior.
- OUT_DEVICE_PRECIS = 5
- Choose a device font if there are multiple fonts in the system with the same name.
- OUT_OUTLINE_PRECIS = 8
- Windows NT, 2000: Choose a TrueType or other outline-based font.
- OUT_RASTER_PRECIS = 6
- Choose a raster font if there are multiple fonts in the system with the same name.
- OUT_STRING_PRECIS = 1
- Raster font (used for enumeration only).
- OUT_STROKE_PRECIS = 3
- Windows 95/98: Vector font (used for enumeration only). Windows NT/ 2000: TrueType, outline-based, or vector font (used for enumeration only).
- OUT_TT_ONLY_PRECIS = 7
- Только шрифты TrueType
- OUT_TT_PRECIS = 4
- Choose a TrueType font if there are multiple fonts in the system with the same name.
- lfClipPrecision
- Параметр, определяющий способ “обрезания” изображения литер при их выходе за пределы области ограниченного вывода
- CLIP_DEFAULT_PRECIS = 0
- The default clipping behavior.
- CLIP_EMBEDDED = 128
- This flag must be set for an embedded read-only font.
- CLIP_LH_ANGLES = 16
- The direction of any rotations is determined by the coordinate system (or else all rotations are counterclockwise).
- CLIP_STROKE_PRECIS = 2
- Raster, vector, or TrueType font (used for enumeration only).
- lfQuality
- Качество воспроизведения шрифта
- ANTIALIASED_QUALITY = 4
- Windows 95/98/NT 4.0 или выше/2000: The font is always antialiased if possible.
- DEFAULT_QUALITY = 0
- По умолчанию. Качесто не существенно
- DRAFT_QUALITY = 1
- Шрифт чернового качества
- NONANTIALIASED_QUALITY = 3
- Windows 95/98/NT 4.0 или выше/2000: The font is never antialiased.
- PROOF_QUALITY = 2
- Шрифт чистового качества
- lfPitchAndFamily
- Это поле определяет, будет ли шрифт иметь фиксированную или переменную ширину литер, а также семейство, к которому принадлежит шрифт
- DEFAULT_PITCH = 0
- По умолчанию
- FIXED_PITCH = 1
- Моноширный шрифт
- VARIABLE_PITCH = 2
- Пропорциональный шрифт
- FF_DECORATIVE = 80
- Showy, decorative font face.
- FF_DONTCARE = 0
- Do not care about the font face.
- FF_MODERN
- Modern font face (monospaced, sans serif font).
- FF_ROMAN =16
- Roman font face (proportional-width, serif font).
- FF_SCRIPT = 64
- Script font face which imitates script handwriting.
- FF_SWISS = 32
- Swiss font face (proportional-width, sans serif font).
- lfFaceName
- Имя шрифта с завершающим нулевым символом
Используется в:
CHOOSEFONT_TYPE, CreateFontIndirect, EnumFontFamiliesEx, ENUMLOGFONT, ENUMLOGFONTEX, ICONMETRICS, NONCLIENTMETRICS, SystemParametersInfo