Namazu-users-ja(旧)


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

word95 のインデックス化について



いつも参考にさせていただいております。
花井と申します。

最近話題が出ておりましたが、当方もword95ファイルのインデックス化を試みて
おります。

> word7形式の日本語word書類を wvWareではうまく処理することが
> 出来ません。filter/msword.plでwordのバージョンを
> チェックして、word7形式の場合はインデックスの対象にしていません。
とありましたが、探してみたところ、word95形式に対応したlaolaなるフィルター
を見つけました。
(http://wwwwbs.cs.tu-berlin.de/~schwartz/pmh/laola.html)

しかし、これは日本語版のword95文書には対応していなかったのですが、幸い
過去にニュースグループ(fj.sorce)にlaola日本語化パッチが投稿されており、
(http://queen.heart.ne.jp/cgi-bin/queen4?msgid=%3C7d8der%24f8m%241%40news1%2Esphere%2Ead%2Ejp%3E)
このパッチを当てることで、コマンドライン上からword95ファイルから内容を
テキストファイルとして取得することまでは成功しております。
(実際にはlaolaに含まれるlhalwというperlスクリプトで行っております。)

「とりあえず、word95用のフィルタができた」というレベルの報告ですが、
なにかのご参考になれば幸いです。




----[以下、その他現状の報告]----
ちなみに当方では、今word95形式ファイルが、「未対応の形式: unknown」
として、検索の対象にすらならない状況なので、それがなんとかなならない
かと、いろいろ試しているところです。

> filter/msword.plでwordのバージョンを
> チェックして、word7形式の場合はインデックスの対象にしていません。
の部分と思われる、

msword.pl(namazu2.0.5同梱のものの127行目付近)の
while (<$fh_cmd>) {
    if (/^Version: (word\d+),/i) {
        $version = $1;
        #
        # Only word8 format is supported for Japanese.
        #
        if ($version =~ /^word8$/) {
            $supported = 1;
        }

の付近を、

while (<$fh_cmd>) {
    if (/^Version: (word\d+),/i) {
        $version = $1;
        if ($version =~ /^word8$/) {
            $supported = 1;
        } elsif ($version =~ /^word7$/ || $version =~ /^word6$/) {
            $supported = 2;
        }
    }
}
return _("Unsupported format: ") .  $version unless $supported;
my $tmpfile3 = $tmpfile;
$tmpfile3 =~ s|/|\\|g;
my $tmpfile4 = $tmpfile2;
$tmpfile4 =~ s|/|\\|g;
if ($supported == 2) {
system("%comspec% /c wd7conv.bat $tmpfile3 $tmpfile4");
} else {
system("$wordconvpath $tmpfile | $utfconvpath -Iu8 -Oej > $tmpfile4");
}
}

と変更しましたが、これだけでは検索対象にはならない状況です。
(wd7conv.batはlhalwフィルタープログラムを呼び出すバッチファイル。)

なお、当方の環境は

(本番)実行環境として
  WinNT4.0(SP5)+Namazu2.0.5+Perl5(ActivePerl Build525)
事前テスト環境(自PC)として
  Win98(SP1)+Namazu2.0.5+Perl5.6(ActivePerl Build625)

の2つの環境で動作テストをしております。(いずれも同じ結果)
----------------------------------------------------------------------
NECフィールディング.CSD.パーソナルシステムサポート部.
花井 亮(はない あきら) e-mail:hanai-a@xxxxxxxxxxxxxxxxxxxxxx