島村 優太郎
ml****@ryne*****
2006年 10月 20日 (金) 21:03:21 JST
島村です。
On Oct 20, 2006, at 4:19 PM, Tasuku SUENAGA wrote:
> Shift-JISとEUC-JPについても、
> NFKCと同等の正規化を実現できるとうれしいと思っ
> ていますが、
> まだ実現できていません。
> 誰かstr.cとutil/unicode/nkfc.rbをいじってくれないかな…
util/unicode/nfkc.rb見てみました。
Rubyわかんないですが。爆
sjisだけでも結構大変なのに、いろんなところで文
字のチェックを行っているみたいで
結構見ててびっくりしてます。
もう少しstr.cとかlex.cを眺めてたいなぁ。とか。
> 現在のnormalize_sjisの実装は、
> 一つの文字が正規化後に複数の文字に対応するこ
> とを想定していないので、
> 確かに○付き文字+2桁数字の正規化はキビしい
> ですね…
>
>> (*d++とlength++やったりとか、めちゃくちゃしてます)
> 大きく手を入れないのなら、その方向で良いと思
> います。
>
> *d++してlength++してる箇所で
>
> if (cp) { *cp++ = sen_str_digit; }
>
> も実行してやればうまく行きそうに思えます。
>
> もしダメだったら、パッチを見せて頂けると何か
> 分かるかも知れません。
これなんですが、ほんとに初歩的なミスと言います
か、
*d=の後の指定に0xをつけなかったので、文字がおか
しくなっていただけでした。
実際には
case 0x49:
*d = 31; // ここは0x31とかかな
きゃいけないのに
*d++;
length++;
*cp++ = sen_str_others;
*d = 30; // ここも
break;
こうになっていて、文字がおかしくなっていただけ
でした。。
手間をお掛けさせてしまい、申し訳ございません。。
今の所、sjisの個人的な部分(ひらがな|カタカナの大
小文字正規化)以外の部分
(絵文字正規化、記号正規化とか)が終わったら、
パッチにして流してみようと思います。
ご回答ありがとうございました。
------------------☆
島村 優太郎
ml****@ryne*****
------------------☆