◀Unicode版開発トップへ
  • 713 右→左へ表記する各言語の扱いについて
    • 714 Re:右→左へ表記する各言語の扱いについて
      • 715 Re2:右→左へ表記する各言語の扱いについて
    • 716 Re:右→左へ表記する各言語の扱いについて
  • [713] 右→左へ表記する各言語の扱いについて げんた 2008年11月26日 01:13

    最近かじったヘブライ文字を入力してみると,以下のようになります.
    * ヘブライ語入力中はキャレットの左側に新規文字が入るが,カーソル位置は(相対的には)動かない
    * BackSpaceを押すとキャレットの無い側から消えるので潜在的にはヘブライ語文字列の左端に位置している
    * 矢印の左を押すとキャレットが一文字左に移動するが,そこで文字を入力すると左から2文字目に挿入される.

    ヘブライ文字部分においてははキャレット,BackSpace, Delete等の左右の動作が逆になるために,表示上の位置とキャレット座標がずれています.

    もう少し具体的に説明します.以下の部分で0-9がヘブライ文字(右→左表記),a-zがアルファベット(左→右表記)とします.
    abcd56789 と入力すると,
    98765|abcd (|がカーソル) と表示されますが本当のキャレット位置は9の左側なので,ここで0を入力すると
    098765|abcd になります.
    ここで左矢印を押すと
    09876|5abcd と表示されますが,ここで 3 を押すと
    039876|5abcd と,左から2番目に入ります.
    ちなみに 3 の代わりに z と入れると,0と9の間に z が入りますが zはヘブライ文字でないのでそこで右→左表記が途切れて
    98765z|0abcd となります.

    以上,参考まで.
    • [714] Re:右→左へ表記する各言語の扱いについて syat 2008年12月03日 22:55

      ▼ げんたさん
      > 最近かじったヘブライ文字を入力してみると,以下のようになります.
      > * ヘブライ語入力中はキャレットの左側に新規文字が入るが,カーソル位置は(相対的には)動かない
      > * BackSpaceを押すとキャレットの無い側から消えるので潜在的にはヘブライ語文字列の左端に位置している
      > * 矢印の左を押すとキャレットが一文字左に移動するが,そこで文字を入力すると左から2文字目に挿入される.
      >
      ちなみにヘブライ文字を入力するのは何を使っていますか?
      手元にあるIMEパッドの文字一覧で試したところ、挙動が少し違いました。
      *文字を押すと未確定文字の左端に追加される 例)abc0 → abc10 → abc210 (abcの後ろにヘブライ文字0,1,2を入力)
      *確定すると入力順に文字が挿入される 上の例) → abc012

      アラビア語とかは、右→左に入力するモードを作らないと実用には耐えない気がしますね。
      その言語を読める有志(と需要)が集まったらの話ですけど
      • [715] Re2:右→左へ表記する各言語の扱いについて げんた 2008年12月04日 07:11

        >手元にあるIMEパッドの文字一覧で試したところ、挙動が少し違いました。
        >*文字を押すと未確定文字の左端に追加される 例)abc0 → abc10 → abc210 (abcの後ろにヘブライ文字0,1,2を入力)
        すいません,私の書いた方が誤っています.

        前の例 98765|abcd になるのはabcd56789ではなく56789abcdです.
        ですので,syatさんの試された方法と同じ結果となります.
    • [716] Re:右→左へ表記する各言語の扱いについて AC 2008年12月07日 00:11

      RTLですか。

      テキストエディタ alpha の作者さんの日記
      http://alpha.sourceforge.jp/diary/0504.html
      あたりを見ると、いろいろ大変そうですよ。

      実装なさるなら、相当な準備と覚悟と労力が要るんじゃないでしょうか。