Структура TEXTMETRIC содержит основную информацию о физическом шрифте. Все размеры задаются в логических единицах измерения; то есть они зависят от текущего режима отображения контекста вывода на экран.
Синтаксис
typedef struct tagTEXTMETRIC { LONG tmHeight; LONG tmAscent; LONG tmDescent; LONG tmInternalLeading; LONG tmExternalLeading; LONG tmAveCharWidth; LONG tmMaxCharWidth; LONG tmWeight; LONG tmOverhang; LONG tmDigitizedAspectX; LONG tmDigitizedAspectY; TCHAR tmFirstChar; TCHAR tmLastChar; TCHAR tmDefaultChar; TCHAR tmBreakChar; BYTE tmItalic; BYTE tmUnderlined; BYTE tmStruckOut; BYTE tmPitchAndFamily; BYTE tmCharSet; } TEXTMETRIC, *PTEXTMETRIC; |
Член tmOverhang дает возможность приложению определить, какая символьная ширина, возвращенная при вызове функции GetTextExtentPoint32 для одиночного символа, является фактической шириной символа и сколько имеется дополнительной ширины на строку . Фактическая ширина - это протяженность минус выступ.
Четыре младших бита этого члена устанавливают информацию о ширине знакоместа и технологии шрифта. Именованная константа определяется для каждого из четырех битов.
Именованная константа | Предназначение | |
---|---|---|
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 .
|
Обзор шрифты и текст, Структуры, используемые шрифтами и текстом, GetTextExtentPoint32, GetTextMetrics, LOGONT
Размещение и совместимость TEXTMETRIC |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Заголовочный файл |
|
- объявлено в |
Wingdi.h |
- включено в |
Windows.h |
Unicode |
Объявлены как структуры Unicode и ANSI |
Замечания по платформе |
Не имеется |