Страница 39 из 51
Структура 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. |