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