Bruce.です。
davi さんは書きました (2008/06/28 3:54):
>> 文字種ごとのバイト幅とか
>
> 半角英数、全角カナを昔のJPerlはjlengthとか書いたけど、今はそんな
> 必要はない、という件。
ああなるほど。
でもUTF-8(Unicode)だと半角カナは3バイトになるのでは?
>> shiftを利用ってどういうことでしょう?
>
> for in do みたいに比較対象を一つずつずらしてゆく、という処理は、
> Yささんもお書きですが、その後にある、
>
>> 2バイト文字がうまく扱えなかったので、
>>> substr($0,i,1) substr($0,i+1,1)
>> 超適当に1バイトずつ処理しました
>
> の所をもう少し「1文字」を処理系の側でキチンと認識してくれる
> ような書き方ってできないもんかな、というような気持ちなんですが。
>
> そうでないと、Ext.Bの処理も盛り込もうとすると、困るだろうなぁと。
>
> # あ、これが「複雑にしすぎる」ってヤツなんでしょうね。
> # ロシア人の会議好き、みたいな性格なんでしょう。
> # 達成されない五カ年計画の連続。
あー、単位がきちんと「バイト」じゃなくて「文字」でということなら
きちんとエンコーディングを処理してやればPerlでもPythonでもできますがな。
ただし自動的にUnicodeで扱うことになりますが。
#Rubyはちと微妙なところがあるので保留
> 南アジアのタミル語とかベンガル語とかは、結合文字の嵐で、
> 見た目は1文字に合成するわけですが、その後に空白が多量に
> 表示されてしまうソフトウェアが結構あります。
>
> BackSpaceを押したときに、結合結果を丸ごと削除するのか?
> 部品を一つずつ削除するのかの挙動をどうすべきか?
>
> で西アジアのアラビア語などとなると、横書きで右から左に
> 書きますので、英文や日本語横書きと混在させるとなると、
> さて、どうなっちゃうんでしょう?という世界です。
アラビア語の中に左→右の言語の表記が入るときは
アラビア語 (左←右) 日本語(左→右) アラビア語(左←右)
と間に埋まって、directionが変わるというルールだったのでは?
#対応ソフトでこの手の入力するとカーソルの飛び方が楽しい(笑)
--
木村浩一
I thought what I'd do was, I'd pretend I was one of those deaf-mutes or should I?
mail kbk [at] kt.rim.or.jp
web www.kt.rim.or.jp/~kbk/zakkicho/
homepage3.nifty.com/farstar/