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 值。 應用程式可以使用 SUCCEEDED 和 FAILED 宏來測試傳回值。
備註
如需通常呼叫此函式的內容討論,請參閱 使用 Uniscribe 顯示文字 。
此函式只會處理與單行文字相關的數據。
執行內嵌層級定義於 Unicode 雙向演算法中。 它們描述執行的方向、其內嵌的任何執行方向,以及段落的方向。 呼叫此函式時不需要任何其他輸入。 如需詳細資訊,請參閱 Unicode。
下表列出預先定義的內嵌層級。 應用程式可以視需要新增層級。
層級 | 意義 |
---|---|
0 | 從左至右段落中的由左至右執行。 |
1 | 內嵌在由左至右段落中由左至右執行中的由右至左回合。 或者,從右至左執行,而不是內嵌在另一個回合中,由右至左段落。 |
2 | 內嵌在類型 1 的由右至左執行中,由左至右執行。 |
3 | 內嵌在類型 2 的由左至右執行中的由右至左回合。 |
「邏輯位置」是指相對於其他回合的執行位置。 它是備份儲存區中的位置,會對應到使用者大聲朗讀文字的順序。 回合的「視覺位置」是指在行上以可視化方式顯示執行的方式,並考慮執行可以擁有的可能方向。
應用程式可以呼叫此函式設定 piLogicalToVisual 或 piVisualToLogical,或兩者。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | usp10.h |
程式庫 | Usp10.lib |
Dll | Usp10.dll |
可轉散發套件 | Windows Me/98/95 上的 Internet Explorer 5 或更新版本 |