共用方式為


ScriptGetFontAlternateGlyphs 函式 (usp10.h)

擷取可透過指定 OpenType 功能存取之指定字元的替代字元清單。

語法

HRESULT ScriptGetFontAlternateGlyphs(
  [in, optional] HDC             hdc,
  [in, out]      SCRIPT_CACHE    *psc,
  [in, optional] SCRIPT_ANALYSIS *psa,
  [in]           OPENTYPE_TAG    tagScript,
  [in]           OPENTYPE_TAG    tagLangSys,
  [in]           OPENTYPE_TAG    tagFeature,
  [in]           WORD            wGlyphId,
  [in]           int             cMaxAlternates,
  [out]          WORD            *pAlternateGlyphs,
  [out]          int             *pcAlternates
);

參數

[in, optional] hdc

裝置內容的句柄。 如需詳細資訊,請參閱 快取

[in, out] psc

定義腳本快取 之SCRIPT_CACHE 結構的指標。

[in, optional] psa

從先前呼叫 ScriptItemizeOpenType 取得之SCRIPT_ANALYSIS結構的指標。 此參數會識別成形引擎,以便使用正確的範圍來建立替代圖像的陣列。

或者,應用程式可以將此參數設定為 NULL ,以接收未篩選的結果。

[in] tagScript

OPENTYPE_TAG結構,定義與替代字元相關聯的腳本標記。

[in] tagLangSys

OPENTYPE_TAG結構,定義與替代字元相關聯的語言標記。

[in] tagFeature

OPENTYPE_TAG結構,定義與替代字元相關聯的特徵標記。

[in] wGlyphId

從字元對應數據表對應的原始圖像標識碼。

[in] cMaxAlternates

pAlternateGlyphs 所指定的陣列長度。

[out] pAlternateGlyphs

此函式擷取字元標識子陣列的緩衝區指標。 數位包含原始圖像,後面接著替代字元。 第一個專案一律是原始圖像。 替代形式是由陣列中的索引所識別。 索引的值大於一,且小於 pcAlternates的值。

當使用者從使用者介面選擇替代表單時,替代字元會套用至對應的字元,並重新格式化轉譯。

[out] pcAlternates

pAlternateGlyphs 所指定陣列中元素數目的指標。

傳回值

若成功,即傳回 0。 如果函式不成功,函式會傳回非零 HRESULT 值。 應用程式可以使用 SUCCEEDEDFAILED 宏來測試傳回值。

如果替代字元數目超過 cMaxAlternates 的值,則函式會失敗並E_OUTOFMEMORY。 應用程式可以嘗試使用較大的緩衝區再次呼叫。

備註

使用替代字元時,應用程式會先重新調整原始圖像,而不套用任何功能標籤,然後選取替代字元。 原始圖像會建立為基底圖像。 如果需要另一個替代專案,原始圖像會提供資訊以符合對應的替代項目清單。

如果使用替代字元做為基底圖像,則找不到相符的輸出清單。 使用者介面會使用選取的最終窗體,而不需要提供選擇其他替代專案的功能。

ScriptSubstituteSingleGlyph 可以模擬 ScriptGetFontAlternateGlyphs 的作業。 當字元被取代時,應用程式應該逐一嘗試參數。

若要使用 Uniscribe 塑造字型, ScriptShapeOpenType 優先於較舊的 ScriptShape 函式。

重要從 Windows 8 開始:若要維持在 Windows 7 上執行的能力,使用 Uniscribe 的模組必須在其連結庫清單中指定 gdi32.lib 之前指定 Usp10.lib。
 

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 usp10.h
程式庫 Usp10.lib
Dll Usp10.dll
可轉散發套件 在 Windows XP 上 Usp10.dll 1.600 版或更新版本

另請參閱

Caching

OPENTYPE_TAG

SCRIPT_ANALYSIS

SCRIPT_CACHE

ScriptItemizeOpenType

ScriptShapeOpenType

ScriptSubstituteSingleGlyph

Uniscribe

Uniscribe 函式