共用方式為


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

ABC 結構的指標,此函式會擷取整個執行的ABC 寬度

傳回值

若成功,即傳回 0。 如果函式不成功,函式會傳回非零 HRESULT 值。 應用程式可以使用 SUCCEEDEDFAILED 宏來測試傳回值。

函式會傳回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 8 開始:若要維持在 Windows 7 上執行的能力,使用 Uniscribe 的模組必須在其連結庫清單中指定 gdi32.lib 之前指定 Usp10.lib。
 

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 usp10.h
程式庫 Usp10.lib
Dll Usp10.dll

另請參閱

使用 Uniscribe 顯示文字

GOFFSET

SCRIPT_ANALYSIS

SCRIPT_CACHE

SCRIPT_VISATTR

ScriptItemize

ScriptPlaceOpenType

ScriptShape

Uniscribe

Uniscribe 函式