共用方式為


ScriptLayout 函式 (usp10.h)

將執行 內嵌層級 的陣列轉換為視覺到邏輯位置的對應和/或邏輯到視覺位置。

語法

HRESULT ScriptLayout(
  [in]            int        cRuns,
  [in]            const BYTE *pbLevel,
  [out, optional] int        *piVisualToLogical,
  [out, optional] int        *piLogicalToVisual
);

參數

[in] cRuns

要處理的執行次數。

[in] pbLevel

數位的指標,其長度由 cRuns 表示,包含執行內嵌層級。 必須包含行上所有執行的內嵌層級,並以邏輯方式排序。 如需詳細資訊,請參閱<備註>一節。

[out, optional] piVisualToLogical

數位的指標,其長度為 cRuns,在此陣列中,此函式會擷取重新排列為視覺順序的執行內嵌層級。 第一個陣列元素代表要顯示在最左邊的回合,後續專案應該會顯示從左至右的進度。 如果沒有任何輸出,此函式會將此參數設定為 NULL

[out, optional] piLogicalToVisual

數位的指標,其長度為 cRuns,在此陣列中,此函式會擷取視覺執行位置。 第一個數位元素是應該顯示第一個邏輯執行之相對視覺位置,最左邊的顯示位置是0。 如果沒有任何輸出,此函式會將此參數設定為 NULL

傳回值

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

備註

如需通常呼叫此函式的內容討論,請參閱 使用 Uniscribe 顯示文字

此函式只會處理與單行文字相關的數據。

執行內嵌層級定義於 Unicode 雙向演算法中。 它們描述執行的方向、其內嵌的任何執行方向,以及段落的方向。 呼叫此函式時不需要任何其他輸入。 如需詳細資訊,請參閱 Unicode

下表列出預先定義的內嵌層級。 應用程式可以視需要新增層級。

層級 意義
0 從左至右段落中的由左至右執行。
1 內嵌在由左至右段落中由左至右執行中的由右至左回合。 或者,從右至左執行,而不是內嵌在另一個回合中,由右至左段落。
2 內嵌在類型 1 的由右至左執行中,由左至右執行。
3 內嵌在類型 2 的由左至右執行中的由右至左回合。
 

「邏輯位置」是指相對於其他回合的執行位置。 它是備份儲存區中的位置,會對應到使用者大聲朗讀文字的順序。 回合的「視覺位置」是指在行上以可視化方式顯示執行的方式,並考慮執行可以擁有的可能方向。

應用程式可以呼叫此函式設定 piLogicalToVisualpiVisualToLogical,或兩者。

重要從 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 或更新版本

另請參閱

使用 Uniscribe 顯示文字

Uniscribe

Uniscribe 函式