共用方式為


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 值。 應用程式可以使用 SUCCEEDEDFAILED 宏來測試傳回值。

如果相符標記的數目超過 cMaxTags 的值,則函式會失敗並E_OUTOFMEMORY。 應用程式可以嘗試使用較大的緩衝區再次呼叫。

備註

正式宣告為 ULONG 類型時, OPENTYPE_TAG 會定義包含四個 8 位 ASCII 空間、A-Z 或 a-z 值的 4 位元組陣列。 例如,拉丁文和阿拉伯文腳本的腳本標籤分別是 「latn」 和 「arab」。

在下列情況下,此函式會從字型擷取單一標記:

  • 此值與單一複雜腳本的文字相關聯。
  • 變數指出NULL,字型支援單一腳本。
如果 ScriptGetFontScriptTags 會從字型擷取所有標記,則標記通常適用於中性專案,例如數位。 請注意,可能會有一個以上的標記適用,因為某些中性專案的文字執行不是腳本特定的。

如果存在對應至特定腳本的標記,則成形引擎可能無法使用字型來塑造指定的專案,因為引擎缺少所需的專案,例如特定語言系統或特定功能。

重要從 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

Uniscribe

Uniscribe 函式