Структура NEWTEXTMETRIC

Type NEWTEXTMETRIC
  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
  ntmFlags As Long
  ntmSizeEM As Long
  ntmCellHeight As Long
  ntmAveWidth As Long
End Type

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

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

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 = 8
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/Me: Baltic character set
CHINESEBIG5_CHARSET = 136
Chinese Big 5 character set
DEFAULT_CHARSET = 1
Default character set
EASTEUROPE_CHARSET = 238
Windows 95/98/Me: 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/XP: Hebrew character set
JOHAB_CHARSET = 130
Windows 95/98/XP: Johab character set
MAC_CHARSET = 77
Windows 95/98/Me: Mac character set
OEM_CHARSET = 255
Original equipment manufacturer (OEM) character set
RUSSIAN_CHARSET = 204
Windows 95/98/Me: Russian character set
SHIFTJIS_CHARSET = 128
ShiftJis character set
SYMBOL_CHARSET = 2
Symbol character set
THAI_CHARSET = 222
Windows NT/2000/XP: Thai character set
TURKISH_CHARSET = 162
Windows 95/98/Me: Turkish character set
ntmFlags
Флаги, определяющие различные свойства или атрибуты шрифта:
NTM_BOLD = &H20
Жирный шрифт
NTM_DSIG = &H100000
Windows 2000: The font has a digital signature, which allows the font to be traced and ensures that the font has not been corrupted.
NTM_ITALIC = &H1
Курсивный шрифт
NTM_MULTIPLEMASTER = &H40000
Windows 2000: The font is a Multiple Master font.
NTM_NONNEGATIVE_AC = &H10000
Windows 2000: No glyph in the font at any size as a negative A or C space.
NTM_PS_OPENTYPE = &H20000
Windows 2000: The font is a PostScript OpenType font.
NTM_REGULAR = &H100
The font is a regular font.
NTM_TT_OPENTYPE
Windows 2000: The font is a TrueType OpenType font.
NTM_TYPE1 = &H80000
Windows 2000: The font is a Type 1 font.
ntmSizeEM
The size of the em square for the font, measured in notional units.
ntmCellHeight
The height of the font, measured in notional units.
ntmAvgWidth
The average width of the characters in the font, measured in notional units.

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

EnumFontFamProc, NEWTEXTMETRICEX