Namazu-win32-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: TXT が image と認識されます
From: maeda@xxxxxxxxxxxxxxxxx <maeda@xxxxxxxxxxxxxxxxx> さん曰く
Subject: [namazu-win32-users-ja] TXT が image と認識されます
Message-ID: <0006209615.AA961521777@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 20 Jun 2000 10:22:56 +0900
> はじめまして、前田といいます。
こんにちは、白井です。
> 検索対象のTEXTデータ本文行頭に MM II などの
> 半角大文字があるとイメージデータと認識され
> 「未対応の形式 (image/tiff)無視します」
> とエラーになります。
## まぁ、しかし、これはまた。。。
MagicNumber(*1) というのがありまして、UNIX などでは '拡張子' で
はなく、file の中身を見て file の種別を判定するためにこういうこ
とになります。
(*1) お近くに UNIX マシンがあるなら、通常 '/etc/magic' という
file を元に判断します。
Namazu では、上記の /etc/magic を使うのではなく MMagic という
Perl module で上記の判定をしています。
# UNIX でも同じ挙動になるので、以下 UNIX でやってしまいますが、
% mknmz ../TEST
2個のファイルがインデックス作成の対象として見つかりました
1/2 - /home/shirai/TEMP/TEMP/TEST/test1.txt 未対応の形式 (image/tiff)無視します
1/1 - /home/shirai/TEMP/TEMP/TEST/test2.txt 未対応の形式 (image/tiff)無視します
となるのですよね。
> 回避する方法はありますでしょうか?
もし、index 対象が全て text/plain (普通の text) なら
% mknmz --media-type='text/plain' ../TEST
2個のファイルがインデックス作成の対象として見つかりました
1/2 - /home/shirai/TEMP/TEMP/TEST/test1.txt [text/plain]
2/2 - /home/shirai/TEMP/TEMP/TEST/test2.txt [text/plain]
インデックスを書き出しています...
のように、media-type を 'text/plain' で拘束するのが一番手っ取り
早いです。
# これができないとすると。。。。良くわかんないけど filter を書く
# のかな?
> また、いまのところMM IIだけですが他にも事例は
> ありますでしょうか?
(私の WinNT4.0 のでは↓ここにあるのですが)
c:/usr/perl/site/lib/File/MMagic.pm をみていただければ、自動判定
する file の一覧がわかります。今回の場合だと、
# TIFF and friends
# TIFF file, big-endian
0 string MM image/tiff
# TIFF file, little-endian
0 string II image/tiff
に引っかかります。__DATA__ (だいたい 1217行目)以降の
0 string
というのに引っかかる形式だと、前田さんのおっしゃるような現象にな
るでしょう。
(MMagic に関してはこれ以上わかりません ^^;)
--
白井秀行 (mailto:shirai@xxxxxxxxxxxxxxxxxxx)