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


Метод IDWriteTextAnalyzer1::GetJustifiedGlyphs (dwrite_1.h)

Заполняет новые глифы для сложных сценариев, где обоснование увеличило прогресс глифов, таких как арабский с кашидой.

Синтаксис

HRESULT GetJustifiedGlyphs(
                  IDWriteFontFace                       *fontFace,
                  FLOAT                                 fontEmSize,
                  DWRITE_SCRIPT_ANALYSIS                scriptAnalysis,
                  UINT32                                textLength,
                  UINT32                                glyphCount,
                  UINT32                                maxGlyphCount,
  [in, optional]  UINT16 const                          *clusterMap,
  [in]            UINT16 const                          *glyphIndices,
  [in]            FLOAT const                           *glyphAdvances,
  [in]            FLOAT const                           *justifiedGlyphAdvances,
  [in]            DWRITE_GLYPH_OFFSET const             *justifiedGlyphOffsets,
  [in]            DWRITE_SHAPING_GLYPH_PROPERTIES const *glyphProperties,
  [out]           UINT32                                *actualGlyphCount,
  [out, optional] UINT16                                *modifiedClusterMap,
  [out]           UINT16                                *modifiedGlyphIndices,
  [out]           FLOAT                                 *modifiedGlyphAdvances,
  [out]           DWRITE_GLYPH_OFFSET                   *modifiedGlyphOffsets
);

Параметры

fontFace

Тип: IDWriteFontFace*

Лицо шрифта, используемое для формирования.

Может иметь значение "NULL".

fontEmSize

Тип: FLOAT

Размер шрифта, используемый для выполнения глифа.

scriptAnalysis

Тип: DWRITE_SCRIPT_ANALYSIS

Скрипт текста из itemizer.

textLength

Тип: UINT32

Длина текста.

glyphCount

Тип: UINT32

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

maxGlyphCount

Тип: UINT32

Максимальное количество выходных глифов, выделенных вызывающим объектом.

[in, optional] clusterMap

Тип: const UINT16*

Кластерная карта, созданная при формировании.

[in] glyphIndices

Тип: const UINT16*

Исходные глифы, созданные в процессе формирования.

[in] glyphAdvances

Тип: const FLOAT*

Оригинальные достижения глифов, полученных из формирования.

[in] justifiedGlyphAdvances

Тип: const FLOAT*

Оправданные переходы глифов из IDWriteTextAnalyzer1::JustifyGlyphAdvances.

[in] justifiedGlyphOffsets

Тип: const DWRITE_GLYPH_OFFSET*

Оправданные смещения глифов из IDWriteTextAnalyzer1::JustifyGlyphAdvances.

[in] glyphProperties

Тип: const DWRITE_SHAPING_GLYPH_PROPERTIES*

Свойства каждого глифа из IDWriteTextAnalyzer::GetGlyphs.

[out] actualGlyphCount

Тип: UINT32*

Новое число глифов, записанных в измененные массивы, или необходимое количество глифов, если размер недостаточно велик.

[out, optional] modifiedClusterMap

Тип: UINT16*

Обновлена карта кластера.

[out] modifiedGlyphIndices

Тип: UINT16*

Обновлены глифы, при необходимости вставляемые новые глифы.

[out] modifiedGlyphAdvances

Тип: FLOAT*

Обновлены глифы.

[out] modifiedGlyphOffsets

Тип: DWRITE_GLYPH_OFFSET*

Обновлены смещения глифов.

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

Тип: HRESULT

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

Комментарии

Вы вызываете GetJustifiedGlyphs после того, как строка была оправдана, и она выполняется для каждого запуска.

Метод GetJustifiedGlyphs следует вызывать, если IDWriteTextAnalyzer1::GetScriptProperties возвращает ненулевое значение DWRITE_SCRIPT_PROPERTIES.justificationCharacter для этого скрипта.

Используйте GetJustifiedGlyphs в основном для таких cursive скриптов, как арабский. Если параметр maxGlyphCount недостаточно велик, Метод GetJustifiedGlyphs возвращает ошибку E_NOT_SUFFICIENT_BUFFER и заполняет переменную, к которой указывает actualGlyphCount необходимым количеством глифов.

Требования

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

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

IDWriteTextAnalyzer1

IDWriteTextAnalyzer1::GetScriptProperties

IDWriteTextAnalyzer1::JustifyGlyphAdvances

IDWriteTextAnalyzer::GetGlyphs