ScriptGetFontScriptTags 函式 (usp10.h)
擷取 OpenType 處理字型中可用的腳本清單。 組成清單的腳本是從位於所提供裝置內容的字型,或從處理目前執行字型的腳本成形引擎擷取。
語法
HRESULT ScriptGetFontScriptTags(
[in, optional] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in, optional] SCRIPT_ANALYSIS *psa,
[in] int cMaxTags,
[out] OPENTYPE_TAG *pScriptTags,
[out] int *pcTags
);
參數
[in, optional] hdc
裝置內容的句柄。 如需詳細資訊,請參閱 快取。
[in, out] psc
識別腳本快取 之SCRIPT_CACHE 結構的指標。
[in, optional] psa
從先前呼叫 ScriptItemizeOpenType 取得之SCRIPT_ANALYSIS結構的指標。 此參數會識別成形引擎,以便擷取適當的字型腳本標記。 應用程式會為此參數提供非 NULL 值,以擷取適用於目前執行的腳本標籤。
或者,應用程式可以將此參數設定為 NULL ,以擷取未篩選的結果。
[in] cMaxTags
pScriptTags 所指定的陣列長度。
[out] pScriptTags
緩衝區的指標,此函式會從裝置內容或與目前執行相關聯的腳本引擎,擷取定義腳本標記 的OPENTYPE_TAG 結構數位。 如果SCRIPT_ANALYSIS結構中提供的 eScript 成員值具有與它相關聯的明確腳本標籤,且標籤在於字型中,pScriptTags 只會包含此標記。
[out] pcTags
pScriptTags 所指示之腳本標記陣列中元素數目的指標。
傳回值
若成功,即傳回 0。 如果函式不成功,函式會傳回非零 HRESULT 值。 應用程式可以使用 SUCCEEDED 和 FAILED 宏來測試傳回值。
如果相符標記的數目超過 cMaxTags 的值,則函式會失敗並E_OUTOFMEMORY。 應用程式可以嘗試使用較大的緩衝區再次呼叫。
備註
正式宣告為 ULONG 類型時, OPENTYPE_TAG 會定義包含四個 8 位 ASCII 空間、A-Z 或 a-z 值的 4 位元組陣列。 例如,拉丁文和阿拉伯文腳本的腳本標籤分別是 「latn」 和 「arab」。
在下列情況下,此函式會從字型擷取單一標記:
- 此值與單一複雜腳本的文字相關聯。
- 變數指出NULL,字型支援單一腳本。
如果存在對應至特定腳本的標記,則成形引擎可能無法使用字型來塑造指定的專案,因為引擎缺少所需的專案,例如特定語言系統或特定功能。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | usp10.h |
程式庫 | Usp10.lib |
Dll | Usp10.dll |
可轉散發套件 | 在 Windows XP 上 Usp10.dll 1.600 版或更新版本 |