[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 メーリングリストの案内