アカウント名:
パスワード:
テキストの途中でRLOを入れれるような仕様にしたのが全ての間違い。先頭1文字目でのみ許可されるようにすべきだった。
先頭1文字目でのみ許可だと英語とアラビア語が混在する文章が作れないではないか
UnicodeにRLOの機能を持たせたのが間違いだ。
RLOの制御文字がない文字コードでどうやって英語とアラビア語を混在表示しようというのだ。
なんで32bitも領域があるのに、制御コードが必要なの?単純にそのコードを見れば、英字なのか、アラビア文字なのか、判別できますよね。描画するときに、左からなのか、右からなのか、判断すれば良いでしょ。
なんで32bitも領域があるのに、制御コードが必要なの?
その二つは関係ない気がする。あと、くだらない揚げ足取りをすると、 Unicode のコードポイントは 0x10FFFF までだから 32 ビットもない。 20 ビットちょい。
単純にそのコードを見れば、英字なのか、アラビア文字なのか、判別できますよね。 描画するときに、左からなのか、右からなのか、判断すれば良いでしょ。
その判断はするけれど、 bidi の処理って意外と複雑だから、それだけじゃ済まないんだよ。感嘆符等、方向のない文字もあるし、制御文字を除いて同じ文字列でも状況によって方向が変わったりする。例えば、英語のソフトウェアの中でアラビア語の単語が 3 個並んでいたとして、 3 個の単語が一つのフレーズを成すなら右から左に並べるけれど、各単語が別個の選択肢を表しているなら左から右に並べるとか。
bidi 制御文字がなくても何とかする方法はあるだろうけれど、少なくとも bidi 制御文字が使えて便利な場面はある。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生の大半の問題はスルー力で解決する -- スルー力研究専門家
RLOはUnicodeの仕様バグ (スコア:0)
テキストの途中でRLOを入れれるような仕様にしたのが全ての間違い。
先頭1文字目でのみ許可されるようにすべきだった。
Re: (スコア:1)
先頭1文字目でのみ許可だと英語とアラビア語が混在する文章が作れないではないか
Re: (スコア:0)
UnicodeにRLOの機能を持たせたのが間違いだ。
Re: (スコア:0)
RLOの制御文字がない文字コードでどうやって英語とアラビア語を混在表示しようというのだ。
Re: (スコア:0)
なんで32bitも領域があるのに、制御コードが必要なの?
単純にそのコードを見れば、英字なのか、アラビア文字なのか、判別できますよね。
描画するときに、左からなのか、右からなのか、判断すれば良いでしょ。
Re:RLOはUnicodeの仕様バグ (スコア:2)
その二つは関係ない気がする。あと、くだらない揚げ足取りをすると、 Unicode のコードポイントは 0x10FFFF までだから 32 ビットもない。 20 ビットちょい。
その判断はするけれど、 bidi の処理って意外と複雑だから、それだけじゃ済まないんだよ。感嘆符等、方向のない文字もあるし、制御文字を除いて同じ文字列でも状況によって方向が変わったりする。例えば、英語のソフトウェアの中でアラビア語の単語が 3 個並んでいたとして、 3 個の単語が一つのフレーズを成すなら右から左に並べるけれど、各単語が別個の選択肢を表しているなら左から右に並べるとか。
bidi 制御文字がなくても何とかする方法はあるだろうけれど、少なくとも bidi 制御文字が使えて便利な場面はある。