Функция GetCharABCWidthsI


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

Синтаксис

BOOL GetCharABCWidthsI(
  HDC hdc,         // дескриптор DC
  UINT giFirst,    // индекс первого глифа в ряду
  UINT cgi,        // количество индексов глифов в ряду
  LPWORD pgi,      // массив индексов глифов
  LPABC lpabc      // массив ширины символов
);

Параметры

hdc
[in] Дескриптор контекста устройства.
giFirst
[in] Устанавливает первый индекс глифа в группе следующих друг за другом индексов глифов текущего шрифта. Этот параметр используется только в том случае , если параметр pgi  равен ПУСТО (NULL).
cgi
[in] Определяет число индексов глифов.
pgi
[in] Указатель на массив, который содержит индексы глифов. Если этот параметр - ПУСТО (NULL), вместо него используется параметр giFirst . Параметр cgi  устанавливает число индексов глифов в этом массиве.
 
lpabc

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

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

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

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

Windows NT/2000/XP: Чтобы получит дополнительные информацию об ошибке, вызовите функцию GetLastError.

Замечания

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

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

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

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

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

Смотри также

Обзор шрифты и текст, Функции, используемые шрифтами и текстом, GetCharWidth, GetOutlineTextMetrics, OUTLINETEXTMETRIC, ABC

Размещение и совместимость GetCharABCWidthsI

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Нет

Windows Me

Нет

Windows 98

Нет

Windows 95

Нет

Используемая библиотека

Gdi32.lib

Заголовочный файл

 

- объявлено в

Wingdi.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz