Структура TEXTMETRIC содержит основную
информацию о физическом шрифте. Все размеры
задаются в логических единицах измерения;
то есть они зависят от текущего режима
отображения контекста вывода на экран.
Устанавливает высоту (высота
символа вместе с надстрочником +
пространство ниже базовой линии знака)
символов.
tmAscent
Устанавливает высоту
символа вместе с надстрочником (для
элемента выше базовой линии) символов.
tmDescent
Устанавливает
пространство ниже базовой линии знака (для элемента ниже базовой линии) символов.
tmInternalLeading
Устанавливает величину
междустрочного пространства (пробела)
внутри границ, установленных членом tmHeight.
В этой области могут встретиться знак
ударения и другие диакритические
символы . Проектировщик может
установить этот член в нуль.
tmExternalLeading
Устанавливает количество
дополнительного междустрочного
пространства (пробела), которое приложение
добавляет между рядами. Так как эта
область - вне шрифта, член не содержит
никакой маркировки и не изменяется
запросами вывода текста ни в одном
режиме OPAQUE или TRANSPARENT.
Дизайнер может установить этот член в нуль.
tmAveCharWidth
Устанавливает среднюю
ширину символов в шрифте (обычно
определяемую как ширина буквы x). Это
значение не включает в себя выступ,
обязательный для полужирных или курсивных
символов.
tmMaxCharWidth
Устанавливает ширину
самого широкого символа в шрифте.
tmWeight
Устанавливает толщину
шрифта.
tmOverhang
Устанавливает
дополнительную ширину на одну строку,
которая может добавиться к некоторым
синтезируемым шрифтам. При синтезировании
некоторых атрибутов, таких как полужирный
или курсивный, графический интерфейс
устройства (GDI) или устройство должно
прибавить ширину к строке и на полный
символ и на полную строку базиса. Например,
GDI делает строку полужирной, расширяя
интервал каждого символа и добавляя
лишний знак при помощи значения
смещения; он выделяет курсивом шрифт, при
помощи операции сдвига половины строки. В
любом случае, это выступ за основную
строку. Для полужирных строк, выступ - это
расстояние, на которое смещено повторение
символа. Для курсивных строк, выступ -
величина, на которую сдвигается вершина
шрифта за основу шрифта.
Член tmOverhang
дает возможность приложению определить,
какая символьная ширина, возвращенная при
вызове функции GetTextExtentPoint32
для одиночного символа, является
фактической шириной символа и сколько
имеется дополнительной ширины на строку .
Фактическая ширина - это протяженность
минус выступ.
tmDigitizedAspectX
Устанавливает
горизонтальную координату устройства, для
которого шрифт был разработан.
tmDigitizedAspectY
Устанавливает
вертикальную координату устройства, для
которого шрифт был разработан. Отношение
членов tmDigitizedAspectX и
tmDigitizedAspectY
равно отношению ширины знака к его высоте
устройства, для которого шрифт был
разработан.
tmFirstChar
Устанавливает значение
первого символа, определенного в шрифте.
tmLastChar
Устанавливает значение
последнего символа, определенного в
шрифте.
tmDefaultChar
Устанавливает значение
символа, который будет заменен символами,
которых нет в шрифте.
tmBreakChar
Устанавливает значение
символа, который будет использован, чтобы
определять границы слова для выравнивания
текста .
tmItalic
Устанавливает курсивный
шрифт, если этот член не нуль.
tmUnderlined
Устанавливает подчеркнутый шрифт, если
этот член не нуль.
tmStruckOut
Устанавливает
зачеркнутый шрифт, если этот член не
нуль.
tmPitchAndFamily
Устанавливает информацию о
ширине знакоместа, технологии и семействе
физического шрифта.
Четыре младших бита этого члена
устанавливают информацию о ширине
знакоместа и технологии шрифта.
Именованная константа определяется для
каждого из четырех битов.
Именованная константа
Предназначение
TMPF_FIXED_PITCH
Если этот бит установлен, шрифт
с переменной шириной знакомест символов.
Если этот бит сброшен, шрифт -
фиксированный шрифт ширины знакомест
символов.
Обратите
внимание! на очень точное их
использование, так как эти значения
являются противоположностью друг другу,
что подразумевает название именованных констант.
TMPF_VECTOR
Если этот бит установлен, шрифт -
векторный.
TMPF_TRUETYPE
Если этот бит установлен, шрифт - TrueType.
TMPF_DEVICE
Если этот бит установлен, шрифт -
поставляемый с устройством (встроенный).
Приложение должно тщательно проверять
сорт кодировки в этих младших битах, не
производя никаких произвольных
предположений. Например, помимо установки
своих собственных битов, шрифты формата
TrueType и технологии PostScript устанавливают бит
TMPF_VECTOR. Растровый шрифт фиксированной
ширины имеет все эти младшие биты
сброшенными; пропорциональный растровый
шрифт устанавливает бит TMPF_FIXED_PITCH . Шрифт
PostScript печатающего устройства
устанавливает биты TMPF_DEVICE,
TMPF_VECTOR и
TMPF_FIXED_PITCH .
Четыре старших бита
члена tmPitchAndFamily определяют
семейство шрифта. Приложение может
использовать значение 0xF0 ипоразрядный
оператор AND, чтобы маскировать четыре
младших бита члена tmPitchAndFamily,
таким образом получая
значение, которое может быть
непосредственно сравниваться с
названиями семейств шрифта, чтобы найти
идентичное соответствие.
Подробную информации о семействах шрифта,
см. описание структуры LOGFONT
.
tmCharSet
Устанавливает набор символов
шрифта. Набор символов может быть одним из
ниже перечисленных значений.