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


Метод IDWriteFontFace1::GetKerningPairAdjustments (dwrite_1.h)

Извлекает корректировки пары kerning из таблицы kern шрифта.

Синтаксис

HRESULT GetKerningPairAdjustments(
        UINT32       glyphCount,
  [in]  UINT16 const *glyphIndices,
  [out] INT32        *glyphAdvanceAdjustments
);

Параметры

glyphCount

Тип: UINT32

Количество глифов, для которых требуется получить корректировки.

[in] glyphIndices

Тип: const UINT16*

Массив идентификаторов глифов, для которого требуется получить корректировки.

[out] glyphAdvanceAdjustments

Тип: INT32*

Достижения, возвращаемые в единицах проектирования шрифтов, для каждого глифа. Последняя корректировка глифа равна нулю.

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

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

GetKerningPairAdjustments не является прямой заменой для символов GDI GetKerningPairs, но он выполняет ту же роль, без необходимости кэшировать их локально. GetKerningPairAdjustments также использует идентификатор глифа напрямую, а не символы UCS-2 (как они хранятся в таблице kern), что позволяет избежать сворачивания и неоднозначности глифов, таких как дефис и дефис, пробелы и неразрывные пробелы.

Новые шрифты могут иметь только кернинг GPOS вместо устаревшего кернинга парной таблицы. Такие шрифты, как Gabriola, возвращают только 0 для корректировки. GetKerningPairAdjustments не виртуализирует и не преобразует эти записи GPOS в пары kerning.

Вы можете повысить производительность, вызвав IDWriteFontFace1::HasKerningPairs , чтобы определить, нужно ли вызывать Метод GetKerningPairAdjustments. Если вы ранее вызывали IDWriteFontFace1::HasKerningPairs и возвращали значение FALSE, можно избежать вызова GetKerningPairAdjustments , так как шрифт не содержит записей таблицы kerning. То есть в этой ситуации вызов GetKerningPairAdjustments был бы no-op.

Требования

Требование Значение
Минимальная версия клиента Windows 8 и обновление платформы для Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 и обновление платформы для Windows Server 2008 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header dwrite_1.h
Библиотека Dwrite_1.lib
DLL Dwrite_1.dll

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

IDWriteFontFace1

IDWriteFontFace1::HasKerningPairs