共用方式為


IDWriteTextAnalyzer1::GetJustifiedGlyphs 方法 (dwrite_1.h)

填入複雜字集的新圖像,其中理由會增加字元的前進,例如使用 kashida 的阿拉伯文。

語法

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

用於字元執行的字型 em 大小。

scriptAnalysis

類型: DWRITE_SCRIPT_ANALYSIS

來自專案化程式的文字腳本。

textLength

類型: UINT32

文字的長度。

glyphCount

類型: UINT32

字元數。

maxGlyphCount

類型: UINT32

呼叫端配置的輸出字元數目上限。

[in, optional] clusterMap

類型: const UINT16*

從成形產生的 Clustermap。

[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*

已更新 clustermap。

[out] modifiedGlyphIndices

類型: UINT16*

已更新字元,並視需要插入新的圖像。

[out] modifiedGlyphAdvances

類型: FLOAT*

更新的字元前進。

[out] modifiedGlyphOffsets

類型: DWRITE_GLYPH_OFFSET*

更新的字元位移。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

您會線上條對齊之後呼叫 GetJustifiedGlyphs ,而且會逐一執行。

如果IDWriteTextAnalyzer1::GetScriptProperties傳回該腳本的非 null DWRITE_SCRIPT_PROPERTIES.justificationCharacter,您應該呼叫GetJustifiedGlyphs

使用 GetJustifiedGlyphs 主要適用于阿拉伯文之類的 Cursive 腳本。 如果 maxGlyphCount 不夠大, GetJustifiedGlyphs 會傳回錯誤E_NOT_SUFFICIENT_BUFFER,並將 actualGlyphCount 指向所需的字元計數填入變數。

需求

   
最低支援的用戶端 適用于 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 適用于 Windows Server 2008 R2 的 Windows Server 2012 和平臺更新 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 dwrite_1.h
程式庫 Dwrite.lib
Dll Dwrite.dll

另請參閱

IDWriteTextAnalyzer1

IDWriteTextAnalyzer1::GetScriptProperties

IDWriteTextAnalyzer1::JustifyGlyphAdvances

IDWriteTextAnalyzer::GetGlyphs