國際語言環境指南

字元方向的其他行為

動作使用佈局服務轉換OutToInpProperty 緩衝區(嵌套層次)決定了字元的方向。 因此 widget 的行為取決於每個語言環境的特定轉換。 如果 OutToInp 中的資訊,特別是 Property 緩衝區中的資訊不正確,widget 可能不會正常運作。 尤其當特定語言環境的模組落在此規格之外的範圍時,同樣文字、應用程式、資源值和 LayoutObject 佈局的雙向編輯行為在每個平台上會有所不同。

視覺模式動作會導致以顯示格為基礎的行為顯示出來。 邏輯模式動作會導致以邏輯字元為基礎的行為。 例如,delete-right-character() 作業會刪除與顯示顯示格對應的輸入緩衝區字元。 也就是說,輸入緩衝區字元的整個 LayoutObject 變換 “property” 位元組 “new cell indicator” 是 1,而所有隨後的字元為 “new cell indicator” [ 如需 Property 緩衝區的詳細資訊,請參閱「CAE 規格」中的 "m_transform_layout()" 規格。] 的是 0。

同樣的,就 backward-character() 而言,插入點會在輸入緩衝區中往後移動一個字元,而游標會重現在對應相關輸出緩衝區字元的可視位置。 這代表有好幾個按鍵必須移過複合顯示格; 實際上游標顯示位置並不會改變成插入點移過輸入緩衝區字元(「新的顯示格指標為 0(也就是變音符或連字片段)」)後的插入點。

這表示刪除動作會從邏輯/輸入緩衝區面執行,或是從實體/輸出緩衝區面的顯示格面執行。 嚴格、實際的字元對應刪除並沒有一定模式,因為輸入緩衝區和輸出緩衝區之間並沒有一對一的對應關係。 例如,已知的實體字元只能代表邏輯字元的一部份。