昨年、誰かが PC で使えるように、OS 9 前後の古い Mac フォントを変換しなければなりませんでした。当時、フォント データは拡張属性 com.apple.ResourceFork に格納されていたことがわかりました。実際のファイル サイズは、ターミナルで 0 として表示されます。xattr -p com.apple.ResourceFork font > font.ttf を使用して拡張属性の値を出力するだけで、これを回避できました。
現在、Snow Leopard と HFS+ ファイル圧縮により状況が変わりました。ここで古いスタイルの拡張属性を出力しようとすると、値ではなく 16 進数のみが取得されます。-x オプションで指定しない限り、新しい拡張属性は 16 進数なしで表示されます。次に例を示します。
xattr -l com.apple.FinderInfo Rublof
Rublof: com.apple.ResourceFork:
00000000 00 00 01 00 00 00 9E 50 00 00 9D 50 00 00 00 32 |.......P...P...2|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
...
Rublof: com.apple.quarantine: 0000;4b75ae02;Mail;39396996-3C5C-48F5-8BDD-775EB40CAD9C|com.apple.mail
ResourceFork で xattr -p を実行すると 16 進数が出力され、検疫で実行すると ASCII が取得されます。明らかに、Apple は拡張属性の処理方法を変更しました。おそらく、OS 9 フォントをまだ使い続けている人々のことを忘れていたのでしょう。
ここに欠けているものはありますか、それとも16進数をASCIIに変換するスクリプトを書くだけですか?