Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: taro7_10.plでのEncode使用



臼田です

Tadamasa Teranishi wrote:
> ただし、filter/taro7_10.pl 自体の不具合を発見しました。
> 一太郎ビューワーダウンロードページにある
> サンプル文書 sample01.jtd に対して、--debug オプション付きで mknmz を
> 実行すると、文字化けが起こっていることが確認できます。
> (Perl5.6 環境でも)

どうもfilter/taro7_10.plではなくてそこから呼び出している
codeconv::eucjp_zen2han_ascii()が悪くて
"。"(EUC-jpで \xA1\xA3)を直後の文字とくっつけて変換してしまっているようです。


pl/codeconv.plの該当箇所を下記のようにしたら文字化けが直りました。


sub eucjp_z2h ($) {
    my ($str) = @_;
    $str =~ s/\xa3([\xb0-\xb9\xc1-\xda\xe1-\xfa])/pack("C",unpack("C",$1)-0x80)/ge;
    $str;
}

sub eucjp_zen2han_ascii ($) {
    my ($str) = @_;
    if (util::islang("ja")) {
        $str =~ s/([\xa1-\xfe][\xa1-\xfe]|\x8e[\xa1-\xdf]|\x8f[\xa1-\xfe][\xa1-\
xfe])/eucjp_z2h($1)/ge;
    }
    $str;
}


臼田幸生