Google Groups の表示と BIDI

Google Groups のトピック一覧画面で, 「タイトルのみを表示」の設定にしていると, 投稿者の欄は

massangeana (2 人の投稿者)

のように表示される(表示言語が日本語の場合)。 ところが, 投稿者名が右から左へ書く文字でおわっているばあい(かりに「אברהם」 とする),

אברהם (2 人の投稿者)

のようになってしまっていた。 ブラウザによって異なる表示になるかもしれないので, 画像にしたが, IE6, Safari 2.0.4, FireFox 1.5.0.7, Opera 9.01 では同じように表示された。

これは BIDI がかかわる基本的な箇所で, 問題は, 「 (2」は本来うしろの「人の投稿者)」とつながるべきなのに, 空白も「(」も「2」も現在の書字方向を変えない文字であること (書字方向が右から左のばあいも, 算用数字は常に左から右に書かれるが, 数字列ぜんたいは前の文字の左に書かれる), 書字方向によって開きかっこと閉じかっこの形が逆になることである。 ふつうの文章を書くのであれば, たとえば右から左の文字列が終わったところで ‎ (それ自身は表示されない, 左から右の字) を書いておけばよい。 じっさいにやってみると, 下のようになる。

אברהם‎ (2 人の投稿者)

しかし, 上の Google Groups のように, CGI そのほかを使ってデータをくみあわせて表示しているばあいは, どこに右から左の文字がくるかをあらかじめ予測しがたいので, 処理がむずかしくなる。 すべての文字列のうしろに ‎ をつけておくというのでは, あまりにもムダが大きい。 楽に, むだなく, かつ処理の漏れがないようにプログラムを書くにはどうするべきだろうか。

なお, このブログのコメント欄の名前やタイトル・本文にもヘブライ文字を入れてみたが, とくに問題は出ないようだ。

投稿時刻 2006-09-16(戊申) 17:54文字の符号化::bidi | コメント (8)

Page 1 of 1: 1