共用方式為


IDWriteTextAnalyzer1::GetTextComplexity 方法 (dwrite_1.h)

判斷文字的複雜度,以及您是否需要呼叫 IDWriteTextAnalyzer::GetGlyphs 以進行完整腳本成形。

語法

HRESULT GetTextComplexity(
  [in]            WCHAR const     *textString,
                  UINT32          textLength,
                  IDWriteFontFace *fontFace,
  [out]           BOOL            *isTextSimple,
  [out]           UINT32          *textLengthRead,
  [out, optional] UINT16          *glyphIndices
);

參數

[in] textString

類型: const WCHAR*

要檢查複雜度的文字。 此字串可能是UTF-16,但任何增補字元都會被視為複雜。

textLength

類型: UINT32

要檢查的文字長度。

fontFace

類型: IDWriteFontFace*

要讀取的字型臉部。

[out] isTextSimple

類型: BOOL*

如果為 true,則文字很簡單,而且 字元Indices 陣列已經為您擁有小寫字元。 否則,您必須呼叫 IDWriteTextAnalyzer::GetGlyphs ,才能正確塑造複雜的腳本和OpenType功能。

[out] textLengthRead

類型: UINT32*

以相同複雜度、簡單或複雜度執行之文字的長度。 您可以從此時間點開始再次呼叫 。

[out, optional] glyphIndices

類型: UINT16*

文字的選擇性字元索引。 如果函式傳回文字很簡單,表示您已經擁有所需的圖像。 否則,圖像索引沒有意義,而且您必須改為呼叫 IDWriteTextAnalyzer::GetGlyphs 以進行成形。

傳回值

類型: HRESULT

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

備註

如果字元是具有複雜成形需求的腳本的一部分,則需要 bidi 分析、結合其他字元、位於增補平面,或具有參與標準 OpenType 功能的字元,則文字並不簡單。 傳回的長度不會從其基底字元分割結合標記。

規格需求

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

另請參閱

IDWriteTextAnalyzer1

IDWriteTextAnalyzer::GetGlyphs