ScriptPlace 函式 (usp10.h)
從 ScriptShape 的輸出產生圖像進階寬度和二維位移資訊。
語法
HRESULT ScriptPlace(
[in] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in] const WORD *pwGlyphs,
[in] int cGlyphs,
[in] const SCRIPT_VISATTR *psva,
[in, out] SCRIPT_ANALYSIS *psa,
[out] int *piAdvance,
[out] GOFFSET *pGoffset,
[out] ABC *pABC
);
參數
[in] hdc
選擇性。 裝置內容的句柄。 如需詳細資訊,請參閱 快取。
[in, out] psc
識別腳本快取 之SCRIPT_CACHE 結構的指標。
[in] pwGlyphs
從先前呼叫 ScriptShape 函式取得的字元緩衝區指標。
[in] cGlyphs
字元緩衝區中的字元計數。
[in] psva
表示視覺屬性 之SCRIPT_VISATTR 結構的數位指標。
[in, out] psa
SCRIPT_ANALYSIS 結構的指標。 在輸入時,會從先前呼叫 ScriptItemize 取得這個結構。 在輸出時,這個結構包含 ScriptPlace 所擷取的值。
[out] piAdvance
此函式擷取進階寬度資訊的數位指標。
[out] pGoffset
選擇性。 GOFFSET 結構的陣列指標,在此陣列中,此函式會擷取結合圖像的 x 和 y 位移。 此陣列的長度必須是 cGlyphs 所指出。
[out] pABC
傳回值
若成功,即傳回 0。 如果函式不成功,函式會傳回非零 HRESULT 值。 應用程式可以使用 SUCCEEDED 和 FAILED 宏來測試傳回值。
函式會傳回E_PENDING如果 psc 參數指定的腳本快取未包含足夠的資訊來放置字元,且 hdc 參數設定為 NULL ,讓函式無法完成放置程式。 應用程式應該為執行設定正確的裝置內容,並使用適當的裝置內容和所有其他參數再次呼叫此函式。
備註
如需通常呼叫此函式的內容討論,請參閱 使用 Uniscribe 顯示文字 。
整個項目的複合 ABC 寬度可識別圖像在開始位置左邊和前進寬度總和所隱含長度右邊的字元數量。 線條的總進階寬度完全是 abcA+abcB+abcC。 abcA 和 abcC 值會維持為以 8 位表示的儲存格高度比例,因此大約是 +/-1%。 所擷取的總寬度是 piAdvance所指示的 abcA+abcB+abcC值總和,精確到 TrueType 成形引擎的解析度。
除非 fLogicalOrder 成員設定在SCRIPT_ANALYSIS 結構中 ,否則所有數位都是以視覺順序設定,由 SCRIPT_ANALYSIS 參數指示。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | usp10.h |
程式庫 | Usp10.lib |
Dll | Usp10.dll |