Namazu-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: File::Magicでの挙動
寺西です。
Yukio USUDA wrote:
>
> > のように 先頭のヘッダ部分(128byte) カットすれば、実用上問題ない
> > かもしれません。が、データフォークの長さ、リソースフォークの長さが
> > ヘッダに書かれていますので、データフォークだけ切り出すように書くのも
> > そう難しくないと思います。
> データフォークの長さを読み取って
> $$contref = substr($$contref,128,LENGTH);
> の一行で終わりといった感じでしょうか?
> おそらく外部プログラムは不要ですね。
そう思います。このために外部プログラムを用意するまでもないと
思います。
> gzip.pl等では何が圧縮されていたのかは全く調べていないようですね
>
> filter内で
> sub recursive() { return 1;}
> としておくことで
> 展開処理後のデータを持ってもう一度Mediatypeの推測まで戻ります。
野首さんにも指摘いただきましたが、うまい仕組みがありましたね。
これを利用できますね。
> これによりgzip.pl等では展開処理しかしていないのに、本来使用し
> たいfilterに処理を渡すことができています。
> mknmzの
> sub load_document($$$$\%)
> を見るとわかります。
ありがとうございます。また、チェックしてみます。
> > $magic->addMagicEntry() は複数指定ってできないんでしたっけ?
>
> 複数指定はできました。filter/ooo.plで2回呼び出しています。
>
> ただ、私が試してみた範囲では複数指定するとor扱いになってしまい
> and扱いにする方法がわかりませんでした。
>
> MMagic.pmの中では複数行をand型で指定しているデータもあるので
> 方法があるようにも思うのですが、調べていません。
> これは、ぜひ知りたいです。
野首さんの資料を待つことにしましょうか。
and ができれば、もう少し条件を追加すれば、良いと思います。
> Macで作成したファイルを扱ったことがないので、テスト用のファイルも
> 用意できません。filterを作成するようでしたらお任せします。
Mac のテストファイルは多分用意できると思います。ただ、ちょっと
今は時間がないので、作業ができるのはちょっと先になるかと思います。
# Mac の使い手ではありませんが、Mac は 5,6台手元にありますから。
> 先のWebページでは
> OSXのcocoaアプリからはデータフォークだけになっているとも書かれていた
> ので、MacBinaryIIIも歴史上のファイルになってしまうのかもしれません。
Mac の世界は MacOS X と、classic 環境(MacOS 9 と MacOS 8) ぐらいは
まだサポートしないといけないでしょう。
DTP の世界はまだ MacOS X に完全には移行できていないのが普通ですから。
68K Mac (漢字Talk7.5, MacOS 7.6) はさすがに無視しても良いとは思います。
たぶん MacOS 8 以上なら MacBinaryIII さえサポートすれば実害はない
ものと思います。(きちんと調べたわけでなく、推測でしかありませんけど。)
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E