Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: UTF-8 index
- From: "Sakuma,Hiroaki" <sakuma@xxxxxxxxxx>
- Date: Sat, 28 Feb 2004 06:59:08 +0900
- X-ml-name: namazu-devel-ja
- X-mail-count: 03721
- References: <403F6F47.B45661C1@asahi-net.or.jp>
佐久間です.
> > JISとの相互変換はUnicode::Mapでも出来ます.Perlのネイティブな機能を使って
> > い
> > るところを,5.6でも使えるように対応して欲しいだけで,日本語コードの判定な
> > ど
> > はnkf任せで構わないと思います.
>
> 何でしたら 5.6 対応を佐久間さんがやってくれれば助かりますけど。
どこが5.6に不適なのか分からないのですが,Text::Kakasiのキャラクターセットの
変換が,5.8のfrom_toを使っていたので,これを5.6ではUnicode::MapとUnicode::
Stringでも使えるようにパッチを書いてみました.
--- Kakasi.pm.old Sat Feb 28 06:52:18 2004
+++ Kakasi.pm Sat Feb 28 06:51:02 2004
@@ -27,6 +27,12 @@
Encode->import(qw/find_encoding from_to _utf8_on _utf8_off/)
};
return $@ ? 0 : 1;
+ }elsif($] >= 5.006){
+ eval {
+ use Unicode::Map;
+ use Unicode::String(qw/ucs2/);
+ };
+ return $@ ? 0 : 1;
}else{
return 0;
}
@@ -118,6 +124,22 @@
}
sub close_kanwadict { xs_close_kanwadict() };
+
+my %map = (
+ oldjis => "JIS-X-0208",
+ newjis => "JIS-X-0208",
+ dec => "EUC-JP",
+ euc => "EUC-JP",
+ sjis => "Shift-JIS",
+ );
+
+from_to {
+ if($] >= 5.008){
+ Encode::from_to($@);
+ } else {
+ $_[0] = Unicode::Map->new($map{$_[2]})->from_unicode(ucs2(Unicode::
Map->new($map{$_[1]})->to_unicode($_[0])));
+ }
+}
1;
__END__