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 |