Подробности - Структура LOGFONT

Шрифты в Windows описываются в структуре LOGFONT, поля которой перечислены ниже. Большинство из них может иметь значение 0 или значение по умолчанию - все зависит от конкретной ситуации в приложении.

ПолеОписание
lfHeightВысота шрифта, логических единиц
lfWidthШирина шрифта, логических единиц
lfEscapementУгол нанесения текста - угол между базовой линией текста и горизонталью (десятые доли градуса)
lfOrientationНаклон символов (десятые доли градуса)
lfWeightТолщина линий начертания шрифта ("жирность")
lfItalicНенулевое значение означает курсив
lfUnderlineНенулевое значение означает подчеркивание
lfStrikeOutНенулевое значение означает перечеркнутый шрифт
lfCharSetНомер набора символов шрифта - таблицы кодировки
lfOutPrecisionПараметр, определяющий соответствие запрашиваемого шрифта и имеющегося в наличии
lfClipPrecisionПараметр, определяющий способ "обрезания" изображения литер при их выходе за пределы области ограничения вывода
lfQualityКачество воспроизведения шрифта
lfPitchAndFamilyЭто поле определяет, будет ли шрифт иметь фиксированную или переменную ширину литер, а также семейство, к которому принадлежит шрифт
lfNameИмя шрифта

Какой высоты, например, будут литеры шрифта, для которого в поле lfHeight задано значение 8 логических единиц? Значение логической единицы определяется режимом наложения (mapping mode). Соответствие между режимом наложения и значением логической единицы видно ниже.

Режимы наложения (mapping mode):

РежимЛогическая единицаКоордината XКоордината Y
  Возрастание координат
MM_HIENGLISH0,001 дюймаСлева направоСнизу вверх
MM_HIMETRIC0,01 ммСлева направоСнизу вверх
MM_ISOTROPICПроизвольноеОпределяетсяОпределяется
MM_LOENGLISH0,01 дюймаСлева направоСнизу вверх
MM_LOMETRIC0,1 ммСлева направоСнизу вверх
MM_TEXTПиксель устройстваСлева направоСверху вниз
MM_TWIPS1/1440 дюймаСлева направоСнизу вверх

Толщина шрифта есть параметр, характеризующий некоторым посредственным образом толщину контурных линий литер. Для этого поля определен набор констант: FW_DONTCARE, FW_THIN, FW_EXTRALIGHT, FW_NORMAL, FW_ULTRALIGHT, FW_LIGHT, FW_REGULAR, FW_MEDIUM, FW_SEMIBOLD, FW_DEMIBOLD, FW_BOLD, FW_EXTRABOLD, FW_ULTRABOLD, FW_BLACK, FW_HEAVY. Не все шрифты могут принимать любое из указанных значений толщины.

Существует четыре возможных варианта шрифтов: ANSI_CHARSET, OEM_CHARSET, SYMBOL_CHARSET, UNICODE_CHARSET

Например, для написания только английским шрифтом следует воспользоваться вариантом ANSI_CHARSET.

Материал прислал Дмитрий Виговский.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 05.04.2000