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 值。 應用程式可以使用 SUCCEEDED 和 FAILED 宏來測試傳回值。
如果替代字元數目超過 cMaxAlternates 的值,則函式會失敗並E_OUTOFMEMORY。 應用程式可以嘗試使用較大的緩衝區再次呼叫。
備註
使用替代字元時,應用程式會先重新調整原始圖像,而不套用任何功能標籤,然後選取替代字元。 原始圖像會建立為基底圖像。 如果需要另一個替代專案,原始圖像會提供資訊以符合對應的替代項目清單。
如果使用替代字元做為基底圖像,則找不到相符的輸出清單。 使用者介面會使用選取的最終窗體,而不需要提供選擇其他替代專案的功能。
ScriptSubstituteSingleGlyph 可以模擬 ScriptGetFontAlternateGlyphs 的作業。 當字元被取代時,應用程式應該逐一嘗試參數。
若要使用 Uniscribe 塑造字型, ScriptShapeOpenType 優先於較舊的 ScriptShape 函式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | usp10.h |
程式庫 | Usp10.lib |
Dll | Usp10.dll |
可轉散發套件 | 在 Windows XP 上 Usp10.dll 1.600 版或更新版本 |