[Senna-dev 418] snippetAPI::sjisエンコードでの外字の取り扱いについて

Back to archive index

島村 優太郎 ml****@ryne*****
2006年 12月 11日 (月) 02:55:59 JST


島村です。

snippet API上で、ある用件を満たすとマルチバイト文字が崩れてしま 
うようです。

・ sen_snip_openでsjisエンコードを指定し、
&& sen_snip_execでカットされた文字列の終端文字部分が
&& SJISの外字で、かつ、下(右側?)バイトが特定の値 
だった場合


現状のsjisのマルチバイトチェックの関数では〜0xEFまで 
を全角漢字の頭としてチェックするようなのですが、
SHUFT-JIS の95区〜120区(この範囲は外字と判断さ 
れるようです。)
までが[0xF0|0x40]〜[0xFC|0xFC]となっているようです。


例えば、以下の範囲のimode絵文字が終端に来たときにマルチバ 
イト破壊が起こりました。
http://file7.ryne.jp/0816687dea1d98f493f0dd7c0aaabc83.gif



たぶんこれで治るかと。。
http://sv-2.ryne.jp/dev/senna/src/snip/snip.sjis-extstr.patch



以上報告でした。

------------------☆
島村 優太郎
yu.sh****@gmail*****
------------------☆



Senna-dev メーリングリストの案内
Back to archive index