Visual C++ MFC в подробностях
Страница 39. Структура LOGFONT


Структура 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_HIENGLISH 0,001 дюйма Слева направо Снизу вверх
MM_HIMETRIC 0,01 мм Слева направо Снизу вверх
MM_ISOTROPIC Произвольное Определяется Определяется
MM_LOENGLISH 0,01 дюйма Слева направо Снизу вверх
MM_LOMETRIC 0,1 мм Слева направо Снизу вверх
MM_TEXT Пиксель устройства Слева направо Сверху вниз
MM_TWIPS 1/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.

 

 
« Предыдущая статья   Следующая статья »