Namazu-devel-ja(旧)


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

Re: 全角半角変換



On Thursday, June 5, 2003, at 09:35 AM, Yukio USUDA wrote:
> 弾さんにお勧めいただいたとおり
> msのunicodeをサポートしているものを使えばよいので
> そろそろPerl5.8を標準環境の1つとして考えるべきなのでしょう。

その Perl も、もう5.8.1が視野に入ってきました。やはり一番大きな違いは UTF-8 まわりで、Encodeモジュールだけではカヴァーしきれない bugfixes/enhancements がかなり入っています(例えば、Shift_JISでも安全に use encoding を使うなど)。

> taro7_10.plでもPerlのバージョンチェックをして5.8のEncodeを優先して使うように
> 書いていましたがcodeconv部分を全部PerlのEncodeに任せるつもりにしないと
> フィルターの一つだけ対応しても意義がないので他のツールを利用していたところです。

現在 Perlから直に利用できるものとしては、

Jcode.pm (拙作)
NKF.pm
jcode.pl

などがありますが、やはりWrapper Moduleがあって、おんなじAPIで使えれば便利ですよね?現在そういうモジュールをちょこちょこと開発中です。

> また、単純にPerl5.8はPerl5.005に比べてかなり速いので大分気になっています。
> time(1)で2回ほど計っただけなのですがnamazuのmake check全体での時間が3割短く
> なりました。(両者ともFreeBSD5.8のpackageを使用しています)
> 文字コード変換もPerl5.8に全部まかせたらmknmzはかなり速くなる気がします。

Encodeはかなり高速で、スピードで言うとiconvとタメをはれるぐらいです。ただ、iso-2022-jp だけは、EUCを経由している分ちょっと遅いかも。

> 現在の"nkf -emXZ1"に頼っているところをPerl5.8にも切り替え可能にするとして
> 1.MIMEヘッダのデコードもnkf任せになっている

この点は、Encode自身が MIME-Header という pseusdo-encoding をサポートしていて、これだけでB Encoding も Q Encoding もOKで、=?ENCODING?= の中身は Encode がサポートしている他の Encoding のどれでもDecode可能というすぐれものです。

#ただし、utf8 -> MIME-Header への Encode では、行末の折り返しが一般化できないため、現時点では=?UTF-8?= 決め打ちになっています。あと、ここの部分も指定可能にするためには、それを引数にして渡さなければならないのですがこれをどうするかも問題。多分指定 するための method を一つ作ればいいのでしょうが。

> 2.Perlがencodeの推測に失敗した際の扱い

これは、Encode::Guess というモジュールがサポートしています。詳しくはPODを参照のこと。

> Text::KakasiをUTF-8のインプットとアウトプットをできるように改良されたようで
> すのでindexがUTF-8にできるようになるのももうすぐのような気がします。
>
> ただし、UTF-8対応は、中国語、韓国語等、多言語のわかちがきが実用になってこない
> とメリットがアピールできないかと思います。

そうなんですよね。実は分かち書きに関しては、「漢字かな」の順で並んでいる日本語は以外とやりやすいんんですよね。中国語、韓国語は以外と大変。スベ テカタカナデカカレタブンショウヲワカチガキスルノトニタムズカシサガアリマス(茶筅も芽蕪もこのケースは大の苦手)。

ただ、実はわかちがきそのものを不要にする方法がなきにしもあらずで、実はそのアイディアをずっとあたためているところです。まだウミヤマなので、もう 少しまとまったらどこかで発表できるのではと思います。

> また、scripts以下のPerlで書かれたツールは比較的簡単に手直しができるのでしょうが
> 検索側のnamazu、namzu.cgiがCで書かれているので変更に労力がかかるのではないか
> と思います。

そうですね。

> indexのコードをeucとutf-8の2種類から選べるようにしておいて移行の準備をして
> おくところからはじめるのでしょうね。

あるいは、Namazu-NGを立ち上げるとか....夢は膨らむのだがヒトモノカネがなあ....

Dan the Man with Too Many Projects Tabled