國際語言環境指南

字元方向的其他行為

動作會使用巢狀層的「版面配置服務」變換 OutToInpProperty 緩衝區來決定字元方向。因此視窗元件的行為取決於每個語言環境的特定轉換。如果 OutToInp 中的資訊,特別是 Property 緩衝區中的資訊不正確,視窗元件可能不會正常運作。尤其當特定語言環境的模組落在此規格之外的範圍時,同樣文字、應用程式、資源值和 LayoutObject 配置的雙向編輯行為在每個平台上會有所不同。

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

如需 Property 緩衝區的詳細資訊,請參閱「CAE Specification」中的 m_transform_layout() 規格。

同樣的,就 backward-character() 而言,插入點會在輸入緩衝區中往後移動一個字元,而游標會重現在對應相關輸出緩衝區字元的可視位置。因此,有好幾個按鍵必須移過複合顯示格。當插入點移過像是分音符或連音符片段 (其「new cell indicator」是 0) 的輸入緩衝區字元時,實際上並未變更游標的顯示位置。

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