ScriptGetCMap 函式 (usp10.h)
根據 TrueType cmap 數據表或針對舊樣式字型實作的標準 cmap 數據表,擷取字串中 Unicode 字元的字元索引。
語法
HRESULT ScriptGetCMap(
[in] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in] const WCHAR *pwcInChars,
[in] int cChars,
[in] DWORD dwFlags,
[out] WORD *pwOutGlyphs
);
參數
[in] hdc
選擇性。 裝置內容的句柄。 如需詳細資訊,請參閱 快取。
[in, out] psc
識別腳本快取 之SCRIPT_CACHE 結構的指標。
[in] pwcInChars
Unicode 字元字串的指標。
[in] cChars
pwcInChars 所指示之字串中的 Unicode 字元數目。
[in] dwFlags
指定圖像之任何特殊處理的旗標。 根據預設,圖像會以邏輯順序提供,不需要特殊處理。 此參數可以有下列值。
值 | 意義 |
---|---|
|
pwOutGlyphs 所指示的字元陣列應該包含鏡像圖像,適用於具有鏡像對等圖像的字元。 |
[out] pwOutGlyphs
函式擷取字元索引數位的緩衝區指標。 此緩衝區的長度應該與 pwcInChars 所指示的輸入緩衝區相同。 每個字碼點都會對應至單一圖像。
傳回值
如果字型中有所有 Unicode 字碼點,則傳回S_OK。 如果函式未成功,函式會傳回下列其中一個非零 HRESULT 值。
傳回值 | 意義 |
---|---|
E_HANDLE | 字型或操作系統不支援圖像索引。 |
S_FALSE | 某些 Unicode 字碼點已對應至預設字元。 |
備註
如需通常呼叫此函式的內容討論,請參閱 使用 Uniscribe 顯示文字 。
此函式可用來判斷所選取字型所支持執行中的字元。 應用程式可以掃描擷取的字元緩衝區,尋找預設圖像來判斷無法使用的字元。 應用程式應該藉由呼叫 ScriptGetFontProperties 來判斷所選字型的預設字元索引。
此函式的傳回值表示是否有任何遺漏的字元。
注意 函式假設輸入和輸出陣列中的項目之間有 1:1 關聯性。 不過,函式不支援UTF-16代理字組的這個關聯性。 如果是 Surrogate 字組,函式不會擷取增平面字元的字元索引。 同樣地,函式不支援 Unicode Variation-Selector (VS) 序列,每個序列都包含 Unicode 圖形字元,後面接著一組 VARIATION SELECTOR 字元,以選取該圖形字元的特定字元表示法。 針對 VS 序列,函式會擷取兩個字元 cmap 所對應之預設字元的字元索引,而不是 VS 序列中特定字元的字元索引。
重要從 Windows 8 開始:若要維持在 Windows 7 上執行的能力,使用 Uniscribe 的模組必須在其連結庫清單中指定 gdi32.lib 之前指定 Usp10.lib。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | usp10.h |
程式庫 | Usp10.lib |
Dll | Usp10.dll |
可轉散發套件 | Windows Me/98/95 上的 Internet Explorer 5 或更新版本 |