Namazu-devel-ja(旧)


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

Re: 全角半角変換



On Wednesday, June 4, 2003, at 09:46 PM, Tadamasa Teranishi wrote:
> まだ、Perl 5.8 に環境を限定することはできないだろうというのが、
> 悩ましいところです。

そのへんは、環境変数 $] をチェックして、これが 5.008 以上なら 5.8 feature を有効にするという方法で回避することに当然なるでしょうね。


> こちらは Perl 5.8 に限定されたのでしょうか。それとも、それ以前の
> バージョンでも動作するように作られているのでしょうか。

当然 5.8 以前のものとも互換です(下位互換性のcheckは、FreeBSD-4-STABLEの/usr/bin/perl、すなわち 5.00503 で行っております)。これは Text::Kakasi のメンテを引き継ぐ以上、当然ですから。

> それ以前のバージョンでも作られているのなら、是非ともそのルーチン
> を持ってきたいですね。様々な漢字コード変換ツールを使うのは、
> それだけでトラブルの元ですから。

参考までに、こんな感じでやってます。

> $HAS_ENCODE = load_encode();
>
> sub load_encode{
> $INC{Encode} and return 1;
> if ($] >= 5.008){
> eval { require Encode };
> $@ and return 0;
> eval {
> Encode->import(qw/find_encoding from_to _utf8_on > _utf8_off/)
> };
> return $@ ? 0 : 1;
> }else{
> return 0;
> }
> }

あとは $HAS_ENCODE に従って、処理を切り分けています。

> なお、現状では様々な漢字コード変換ツールを使っているので、
> Perl5.8 の環境では Encode に集約したいとは、個人的に以前から
> 思っています。

ありがとうございます。

>> これを利用すれば、NamazuのindexそのものをUTF-8で作るということも
>> 可能なはずで、暇があれば取り組んでみたいのですがちょっと手いっ
>> ぱいで....
>
> mknmz, namazu 共に内部コードは EUC コードと仮定してコーティング
> されている部分が沢山ありますので、書き直すのは結構大変かと思います。
> ただ、将来的には内部コードを Unicode 等にした方がいいだろうと
> 思っています。

あと、indexもUTF-8にすると、複数コードの混じったweb siteの一括検索も可能になります。文字コードごとに indexer だけ切り替えて....

Dan the Man with Too Many Projects to Proceed