マカーのためのWindows向けファイル作成講座(2005.3.1版)

 Macで何かを作ってMacWindowsを問わず色々な人に配布しようと思ったとき、主にWindowsユーザから「よく分からないゴミファイルが出る」とか「そもそもファイルを解凍出来ない」とかいった問い合わせが来ることがあるかも知れません。ないかも知れませんが。
 そうした作品の本質以外の部分で印象を悪くしてしまうのは、作者・ユーザ双方にとって不幸なことだと思います。…思いますので以下簡単に問題の回避方法*1を。

1.何が問題なのか
 Macのファイルは大抵、データフォーク(通常のデータ部分)とリソースフォーク(画像のサムネイルアイコンなど)の二つの内容から出来てますが、他の環境に移したときに意味があるのはデータフォークだけで、リソースフォークは「ゴミ」に見えることがあります。OS Xになってからは少なくなったようですが(参考[padmacolors.org])。
 また、フォルダの中にはウィンドウのアイコン位置なんかを保存している.DS_Storeという見えないファイル(もちろんTerminalでls -aすれば見えますが)が存在していて、これもMac OS X以外の環境ではゴミになってしまいます。

2.用意するもの

 CleanArchiverとZippistは解凍すればそのまま使えますが、AmZapForksCMXとAmDeleteDS_StoreCMXは説明に従って各自でインストールしてください。

3.やりかた
 3-1.ひとつのファイルの場合
 画像ファイルなんかをひとつずつ配布する場合、特にOS 9以前のMacで作ったファイルの場合は、Mac以外の環境ではリソースフォークが分離してしまうので、AmZapForksCMXで増えたコンテクストメニュー*2(右クリック or Ctrl+クリックで出るメニュー)でリソースフォークを消す。
 3-2.複数のファイルをフォルダに入れて圧縮する場合
 ソフトや複数の画像ファイルなんかをフォルダにまとめて配布する場合、問題になるのが件の.DS_Storeという見えないファイルなので、これと各ファイルのリソースフォークを消して配布することが肝心です。
 まず最初に注意点が一つ。OS9で作ったフォルダを持ってこない。両方で作業している人は、少々面倒でも配布するもののフォルダはOS Xで作りましょう。
 そしてやり方は2通りあります。一つめの方法は、3-1と同じようにしてAmZapForksCMXで(Finderの複数選択などを活用して)リソースフォークを消した後に、.DS_Storeを取り除いて圧縮してくれるCleanArchiverで圧縮する。
 二つめは、AmDeleteDS_StoreCMXを使って.DS_Storeを取り除いて(中にサブフォルダがある場合も一番上のフォルダを選択して.DS_Storeを消せば全部消してくれます)から、リソースフォークを無視して圧縮するZippistで圧縮する。どちらかと言えば二つめの方が手順は少ないかも。
4.最後に
 基本的にOS 9以前のMacで作ったままの(=何も手を加えていない)ファイル・フォルダはWeb上に置かない方が良いでしょう。ってこんなまとめでいいのやら…。

*1:基本的にMac OS X以降向けの方法で、しかも完全に回避できる訳ではなく、ゴミが残ることもあります。

*2:コンテキストメニュー?どっちが正しいんだろう。英語は当然Contextual Menuで一緒なんだけど。