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


Функция 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

См. также раздел

ABC

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

Общие сведения о шрифтах и тексте

GetCharWidth

GetOutlineTextMetrics

OUTLINETEXTMETRIC