Функция 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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | wingdi.h (включая Windows.h) |
Библиотека | Gdi32.lib |
DLL | Gdi32.dll |