namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: %var::REQUIRE_CODECONV
- From: knok@xxxxxxxxxxxxx (NOKUBI Takatsugu)
- Date: Tue, 31 Aug 99 17:39:14 JST
<199908310542.OAA00617@xxxxxxxxxxxxxx>の記事において
satoru-t@xxxxxxxxxxxxxxxxxxさんは書きました。
>> 'message/rfc822' => 1,
>> 'message/news' => 1,
>> 'text/html' => 1,
>> 'text/html; x-type=mhonarc' => 1,
>> 'text/x-roff' => 1,
>>
>> を追加しました。理由:
あ、説明が悪かったかもしれません。このあたりは各filterにcodeconv()と
いう関数を実装し、mknmz.pl.inのload_modules()で
eval "\$codeconv = ${module}::codeconv();";
$var::REQUIRE_CODECONV{$mt} = $codeconv if ($codeconv);
などとして値を設定させています。今のところ、html, mailnews, mhonarc
がcodeconvを行うようになっています。
あらかじめ'text/plain' => 1を設定しているのは、対応するフィルタがな
いからで、filterに関する設定をstaticに行うつもりではありませんでした。
説明不足ですみません。
manに関しては、codeconvが指定されないようにしています。codeconvを有
効にすると、EUC-JP化されたデータがjgroff/groff/nroffに与えられてしまう
ので、roffが期待するencodingがEUC-JP以外であるような処理系で問題が起き
るかもしれません。
そこで、あえてここでは変換せずにroffを通した結果をfilter内部でEUC-JP
に変換して返すようにしました。デフォルトで非EUC-JPなroff文章を扱うよう
な環境(HPUXなど?)ではこのほうが都合が良いように思います。
しかし、これはこれで別の問題を抱えています。systemに標準で付属してい
る文章をインデックス化するときはこれで良いのですが、そうでないもの、例
えばフリーソフトに付属のroff文章などをインデックス化するときは、その前
に自分でsystemが要求するencodingに直さないといけません...
この辺り、より良い解決方法があったらご教授ください。
rfcは微妙な所のような気がします。現状のFile::MMagicでは日本語訳され
たrfc文章の判別はあまりできなさそうなのと、filter内部の処理もあまりう
まく扱えそうにないので...
>> ところで、load_modules で得た %conf::Supported を
>> load_document で用いるようにしませんか?
やってみます。
--
野首 貴嗣
E-mail: knok@xxxxxxxxxxxxx (private)
nokubi@xxxxxxxxx (official)