Метод 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 |