Структура TEXTMETRIC

Type TEXTMETRIC
  tmHeight As Long
  tmAscent As Long
  tmDescent As Long
  tmInternalLeading As Long
  tmExternalLeading As Long
  tmAveCharWidth As Long
  tmMaxCharWidth As Long
  tmWeight As Long
  tmOverhang As Long
  tmDigitizedAspectX As Long
  tmDigitizedAspectY As Long
  tmFirstChar As Byte
  tmLastChar As Byte
  tmDefaultChar As Byte
  tmBreakChar As Byte
  tmItalic As Byte
  tmUnderlined As Byte
  tmStruckOut As Byte
  tmPitchAndFamily As Byte
  tmCharSet As Byte
End Type

Структура TEXTMETRIC содержит информацию о шрифте. Все размеры задаются в логических единицах контекста устройства, если не оговорено обратное

Состав структуры

tmHeight
Высота символа шрифта (равно сумме tmAscent и tmDescent)
tmAscent
Высота верхней части символьной ячейки
tmDescent
Высота нижней части символьной ячейки
tmInternalLeading
Внутренний промежуток символьной ячейки
tmExternalLeading
Внешний промежуток символьной ячейки
tmAveCharWidth
Средняя ширина шрифта
tmMaxCharWidth
Ширина самого широкого символа шрифта
tmWeight
Один из следующих флагов, определяющих жирность шрифта:
FW_DONTCARE = 0
По умолчанию
FW_THIN = 100
Легкая жирность
FW_EXTRALIGHT = 200
Небольшая жирность
FW_ULTRALIGHT = 200
Аналогично FW_EXTRALIGHT
FW_LIGHT = 300
Легкая жирность
FW_NORMAL = 400
Нормальная жирность
FW_REGULAR = 400
Аналогично FW_NORMAL
FW_MEDIUM = 500
Средняя жирность
FW_SEMIBOLD = 600
Выше среднего
FW_DEMIBOLD = 600
Аналогично FW_SEMIBOLD
FW_BOLD = 700
Жирный шрифт
FW_EXTRABOLD = 800
Очень жирный шрифт
FW_ULTRABOLD = 800
Аналогично FW_EXTRABOLD
FW_HEAVY = 900
Сверх жирный шрифт
FW_BLACK = 900
Аналогично FW_HEAVY
tmOverhang
Параметр, используемый при синтезировании курсивных или жирных символов
tmDigitizedAspectX
Горизонтальный аспект
tmDigitizedAspectY
Вертикальный аспект
tmFirstChar
Код первого символа
tmLastChar<
Код последнего символа
tmDefaultChar
Код символа, выводимого вместо отсутствующих символов шрифта
tmBreakChar
Код символа, используемый для выравнивания текста
tmItalic
Если 0, то шрифт не курсивный. Если ненулевое значение, то шрифт является курсивным
tmUnderlined
Если 0, то шрифт не подчеркнутый. Если ненулевое значение, то шрифт является подчеркнутым
tmStruckOut>
Если 0, то шрифт не перечеркнутый. Если ненулевое значение, то шрифт является перечеркнутым
tmPitchAndFamily
Комбинация флагов, определяющих семейство шрифта и пропорциональность:
DEFAULT_PITCH = 0
По умолчанию
FIXED_PITCH = 1
Моноширный шрифт
VARIABLE_PITCH = 2
Пропорциональный шрифт
FF_DECORATIVE = 80
Showy, decorative font face.
FF_DONTCARE = 0
Do not care about the font face.
FF_MODERN
Modern font face (monospaced, sans serif font).
FF_ROMAN = 16
Roman font face (proportional-width, serif font).
FF_SCRIPT = 64
Script font face which imitates script handwriting.
FF_SWISS = 32
Swiss font face (proportional-width, sans serif font).
tmCharSet
Один из следующих флагов, определяющих кодировку шрифта:
ANSI_CHARSET = 0
ANSI-кодировка
ARABIC_CHARSET = 178
Windows NT, 2000: Arabic character set
BALTIC_CHARSET = 186
Windows 95, 98: Baltic character set
CHINESEBIG5_CHARSET = 136
Chinese Big 5 character set
DEFAULT_CHARSET = 1
Default character set
EASTEUROPE_CHARSET = 238
Windows 95, 98: Eastern European character set
GB2312_CHARSET = 134
GB2312 character set
GREEK_CHARSET = 161
Windows 95, 98: Greek character set
HANGEUL_CHARSET = 129
HANDEUL character set
HEBREW_CHARSET = 177
Windows NT, 2000: Hebrew character set
JOHAB_CHARSET = 130
Windows 95, 98: Johab character set
MAC_CHARSET = 77
Windows 95, 98: Mac character set
OEM_CHARSET = 255
Original equipment manufacturer (OEM) character set
RUSSIAN_CHARSET = 204
Windows 95/98: Русская кодировка
SHIFTJIS_CHARSET = 128
ShiftJis character set
SYMBOL_CHARSET = 2
Symbol character set
THAI_CHARSET = 222
Windows NT/2000: Thai character set
TURKISH_CHARSET = 162
Windows 95/98: Turkish character set

Используется в:

EnumFontFamExProc, EnumFontFamProc