[PHP-dev 1384] Re: mb_strwidth関数とmb_strimwidth関数の挙動について
Shu Sawada
luna @ lunanet.gr.jp
2007年 8月 9日 (木) 18:28:25 JST
さわだと申します。
基本的には私から書くことは何も無いのですが。
> さわださんには色々と作業をして頂きました。本当にありがとうございます。
> 本来は桝形が行うべき作業、手間を取らせてしまってスミマセンデシタ。
お世話になりました、楽しかったです。
いやほんと、力不足で申し訳ないです、、、
> ftp://ftp.unicode.org/Public/UNIDATA/EastAsianWidth.txt
>
> このデータを元にmbfl_eaw_tableを生成するawkが既にあるとの事なので
> さわださんに確認して頂きました(awkを若干、修正したそうです)。
この修正というのは、手元のLinux環境ではawkスクリプトが型変換に失敗する
ようだったので
- v = ( "0x" $1 ) + 0
+ v = strtonum( "0x" $1 )
という話です。なぜなのかはよく判ってませんが ^^;
(それで、 Ambiguousのものもmbfl_eaw_tableに出力するように変更)
> さわださんの話では、使い勝手としては無理矢理幅2にしてしまった方が
> 良いかもしれない、との事ですが、ここは慎重を要するかもしれません。
この話はひとまず保留にしてEastAsianWidthについて考えましょう、という流れに
賛成です。のでとりあえず以下は流して欲しいのですが、
この点について、一人のエンドユーザの立場から「何が技術的に正しい」とか
そういう話を無視した上で。
euc-jpのファイルでは幅2と判定されるのに、utf-8のファイルでは幅1と判定
される、という動きは、結構使う上で辛い気がします。
不思議だし、判ってないとハマるかと。何も考えずに使いたいのです〜
#かといって無理矢理違うコードに変換するのは違うだろ、と言われると、もう本当に
#その通りなのですが。どうしたら良いのでしょうか。
--
Shu Sawada
http://luna.lunanet.gr.jp/
http://www.cycleof5th.com/
PHP-dev メーリングリストの案内