Структура NEWTEXTMETRIC


Структура NEWTEXTMETRIC содержит данные, которые описывают физический шрифт.

Синтаксис

typedef struct tagNEWTEXTMETRIC { 
  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; 
  DWORD   ntmFlags; 
  UINT    ntmSizeEM; 
  UINT    ntmCellHeight; 
  UINT    ntmAvgWidth; 
} NEWTEXTMETRIC, *PNEWTEXTMETRIC; 

Члены структуры

tmHeight
Устанавливает высоту (высота символа вместе с надстрочником + пространство ниже базовой линии знака) символов.
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
Устанавливает ширину знакомест символов и семейство выбранного шрифта. Младший бит (бит 0) устанавливает ширину знакомест символов шрифта. Если он - 1, шрифт имеет переменную ширину знакомест символов (то есть пропорциональный). Если он - 0, шрифт имеет фиксированную ширину знакомест символов (или моноширинный). Биты 1 и 2 устанавливают тип шрифта. Если оба бита - 0, шрифт - растровый; если бит 1 - 1, а бит 2 - 0, шрифт - векторный; если бит 1 - 0, а бит 2 установлен, или если оба бита - 1, шрифт - какой-либо другой тип. Бит 3 равен 1, если шрифт - поставляемый с устройством; в противном случае, он - 0.

Четыре старших бита определяют семейство шрифта. Член tmPitchAndFamily  может быть объединен с шестнадцатеричным значением 0xF0, используя поразрядный оператор AND, и может быть затем сравниваться с семействами шрифта для идентификации соответствия. Подробную информации о семействах шрифта, см. структуру  LOGFONT .

tmCharSet
Устанавливает набор символов шрифта.
ntmFlags
Устанавливает, является ли шрифт курсивным, подчеркнутым, выделенным, полужирным, и т.д. Может быть любой разумной комбинацией нижеследующих значений.
Бит Название Значение
0 NTM_ITALIC italic (курсивный)
5 NTM_BOLD bold (полужирный)
8 NTM_REGULAR regular (нормальный)
16 NTM_NONNEGATIVE_AC Windows 2000/XP: глифы в шрифте в любом размере не имеет отрицательных значений интервала A или C .
17 NTM_PS_OPENTYPE Windows 2000/XP: шрифт PostScript OpenType
18 NTM_TT_OPENTYPE Windows 2000/XP: шрифт  OpenType формата TrueType
19 NTM_MULTIPLEMASTER Windows 2000/XP: шрифт стандарта Multiple Master (MM)
20 NTM_TYPE1 Windows 2000/XP:  шрифт Type 1
21 NTM_DSIG Windows 2000/XP: шрифт с цифровым представлением. Это дает возможность трассируемости, и гарантирует, что шрифт был проверен и не испорчен
 
ntmSizeEM
Устанавливает размер em-квадрата для шрифта. Это значение находится в отвлеченных единицах измерения (то есть в единица измерения, в которых шрифт был разработан).
ntmCellHeight
Устанавливает высоту, в отвлеченных единицах измерения шрифта. Это значение должно сравниваться со значением члена ntmSizeEM.
ntmAvgWidth
Устанавливает среднюю ширину символов в шрифте, в отвлеченных единицах измерения. Это значение должно сравниваться со значением члена ntmSizeEM.

Замечания

Последние четыре члена структуры NEWTEXTMETRIC не включены в структуру TEXTMETRIC ; во всех других отношениях эти структуры идентичны.

Размеры в структуре NEWTEXTMETRIC обычно определяются в логических единицах измерения; то есть они зависят от текущего режима отображения контекста вывода на экран.

Смотри также

Обзор шрифты и текст, Структуры, используемые шрифтами и текстом, EnumFontFamilies, GetTextExtentPoint32, GetTextMetrics, LOGONT

Размещение и совместимость NEWTEXTMETRIC

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Заголовочный файл

 

- объявлено в

Wingdi.h

- включено в

Windows.h

Unicode

Объявлены как структуры Unicode и ANSI

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz