Поделиться через


Функция GetCharABCWidthsA (wingdi.h)

Функция getCharABCWidths извлекает ширину в логических единицах последовательных символов в указанном диапазоне от текущего шрифта TrueType. Эта функция успешно выполняется только с шрифтами TrueType.

Синтаксис

BOOL GetCharABCWidthsA(
  [in]  HDC   hdc,
  [in]  UINT  wFirst,
  [in]  UINT  wLast,
  [out] LPABC lpABC
);

Параметры

[in] hdc

Дескриптор контекста устройства.

[in] wFirst

Первый символ в группе последовательных символов из текущего шрифта.

[in] wLast

Последний символ в группе последовательных символов из текущего шрифта.

[out] lpABC

Указатель на массив структур ABC, получающих ширину символов в логических единицах. Этот массив должен содержать по крайней мере столько структур ABC, сколько символов в диапазоне, указанном параметрах uFirstChar и uLastChar.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение ненулевое

Если функция завершается ошибкой, возвращаемое значение равно нулю.

Замечания

Растризатор TrueType предоставляет интервалы символов ABC после выбора определенного размера точки. Интервал — это расстояние, добавленное к текущей позиции перед размещением глифа. Интервал B — это ширина черной части глифа. Интервал C — это расстояние, добавленное к текущей позиции, чтобы обеспечить пробел справа от глифа. Общая расширенная ширина определяется A+B+C.

Если функция GetCharABCWidths извлекает отрицательные ширины A или C для символа, этот символ включает подвесы или навесы.

Чтобы преобразовать ширину ABC в единицы конструктора шрифтов, приложение должно использовать значение, хранящееся в otmEMSquare элемента структуры OUTLINETEXTMETRIC. Это значение можно получить, вызвав функцию GetOutlineTextMetrics.

Ширины ABC символа по умолчанию используются для символов за пределами диапазона выбранного в данный момент шрифта.

Чтобы получить ширину символов в шрифтах, отличных от TrueType, приложения должны использовать функцию GetCharWidth.

Заметка

Заголовок wingdi.h определяет GetCharABCWidths как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка wingdi.h (включая Windows.h)
библиотеки Gdi32.lib
DLL Gdi32.dll

См. также

ABC

функции шрифта и текста

шрифтов и текста

GetCharWidth

GetOutlineTextMetrics

OUTLINETEXTMETRIC