共用方式為


IDWriteTextAnalyzer::GetGlyphs 方法 (dwrite.h)

剖析輸入文字字串,並根據字型和寫入系統的轉譯規則,將其對應至一組字元和相關聯的圖像資料。

語法

HRESULT GetGlyphs(
  [in]           WCHAR const                       *textString,
                 UINT32                            textLength,
                 IDWriteFontFace                   *fontFace,
                 BOOL                              isSideways,
                 BOOL                              isRightToLeft,
  [in]           DWRITE_SCRIPT_ANALYSIS const      *scriptAnalysis,
  [in, optional] WCHAR const                       *localeName,
  [optional]     IDWriteNumberSubstitution         *numberSubstitution,
  [in, optional] DWRITE_TYPOGRAPHIC_FEATURES const **features,
  [in, optional] UINT32 const                      *featureRangeLengths,
                 UINT32                            featureRanges,
                 UINT32                            maxGlyphCount,
  [out]          UINT16                            *clusterMap,
  [out]          DWRITE_SHAPING_TEXT_PROPERTIES    *textProps,
  [out]          UINT16                            *glyphIndices,
  [out]          DWRITE_SHAPING_GLYPH_PROPERTIES   *glyphProps,
  [out]          UINT32                            *actualGlyphCount
);

參數

[in] textString

類型: const WCHAR*

要轉換成字元的字元陣列。

textLength

類型: UINT32

textString的長度。

fontFace

類型: IDWriteFontFace*

字型臉部,這是輸出字元的來源。

isSideways

類型: BOOL

如果文字是要垂直繪製,則布林值旗標會設定為 TRUE

isRightToLeft

類型: BOOL

布林值旗標會針對由右至左文字設定為 TRUE

[in] scriptAnalysis

類型:const DWRITE_SCRIPT_ANALYSIS*

AnalysisScript呼叫中腳本分析結果的指標。

[in, optional] localeName

類型: const WCHAR*

選取字元時要使用的地區設定。 例如,相同的字元可能會對應至 ja-jp 與 zh-chs 的不同字元。 如果這是 Null,則會使用根據腳本的預設對應。

[optional] numberSubstitution

類型: IDWriteNumberSubstitution*

選擇性數位替代的指標,會根據 從 AnalyzeNumberSubstitution取得的結果,針對數位和相關數位字元選取適當的字元。 傳遞 Null 表示不需要替代,而且數位應該會收到標準字元。

[in, optional] features

類型:const DWRITE_TYPOGRAPHIC_FEATURES**

要用於每個特徵範圍之印刷樣式特徵集合的指標陣列。

[in, optional] featureRangeLengths

類型: const UINT32*

每個特徵範圍的長度,以字元為單位。
所有長度的總和應等於 textLength

featureRanges

類型: UINT32

功能範圍的數目。

maxGlyphCount

類型: UINT32

可以傳回的最大字元數目。

[out] clusterMap

類型: UINT16*

當這個方法傳回時,會包含字元範圍到字元範圍的對應。

[out] textProps

類型: DWRITE_SHAPING_TEXT_PROPERTIES*

當這個方法傳回時,會包含結構陣列的指標,其中包含每個字元的成形屬性。

[out] glyphIndices

類型: UINT16*

輸出字元索引。

[out] glyphProps

類型: DWRITE_SHAPING_GLYPH_PROPERTIES*

當這個方法傳回時,會包含結構陣列的指標,其中包含每個輸出字元的成形屬性。

[out] actualGlyphCount

類型: UINT32*

當這個方法傳回時,如果呼叫成功,則包含傳回的實際字元數目。

傳回值

類型: HRESULT

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

備註

請注意,從字元到字元的對應通常是多對多。 每個字元輸出緩衝區的建議估計值 (3 * textLength / 2 + 16) 。 這不保證足夠。

actualGlyphCount參數的值只有在呼叫成功時才有效。 如果 maxGlyphCount 不夠大,則會傳回 HRESULT_FROM_WIN32 (ERROR_INSUFFICIENT_BUFFER) 。 應用程式應該配置較大的緩衝區,然後再試一次。

規格需求

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

另請參閱

IDWriteTextAnalyzer