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


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

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

Синтаксис

BOOL GetCharABCWidthsI(
  [in]  HDC    hdc,
  [in]  UINT   giFirst,
  [in]  UINT   cgi,
  [in]  LPWORD pgi,
  [out] LPABC  pabc
);

Параметры

[in] hdc

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

[in] giFirst

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

[in] cgi

Количество индексов глифов.

[in] pgi

Указатель на массив, содержащий индексы глифов. Если этот параметр имеет значение NULL, вместо него используется параметр giFirst . Параметр cgi указывает количество индексов глифов в этом массиве.

[out] pabc

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

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

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

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

Комментарии

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

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

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

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

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

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header wingdi.h (включая Windows.h)
Библиотека Gdi32.lib
DLL Gdi32.dll

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

ABC

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

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

GetCharWidth

GetOutlineTextMetrics

OUTLINETEXTMETRIC