В прошлом году мне пришлось конвертировать и старый шрифт Mac из OS 9, чтобы кто-то мог использовать его на ПК. Я обнаружил, что тогда данные о шрифтах хранились в расширенном атрибуте com.apple.ResourceFork. Фактический размер файла будет отображаться как 0 в терминале. Мне удалось обойти это, просто распечатав значение этого расширенного атрибута, используя xattr -p com.apple.ResourceFork font> font.ttf.
Теперь с Snow Leopard и сжатием файлов HFS + все изменилось. Если вы сейчас попытаетесь распечатать расширенный атрибут старого стиля, вы получите только гекс, а не значение. Новые расширенные атрибуты появляются без каких-либо шестнадцатеричных значений, если не указано с параметром -x. Вот пример:
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
Выполнение xattr -p в ResourceFork выдаст гекс, запустив его на карантин, и вы получите ASCII. Очевидно, что Apple изменила способ обработки расширенных атрибутов, и, возможно, они забыли о людях, которые до сих пор хранят свои шрифты OS 9.
Что-то мне здесь не хватает или я просто пишу скрипт для преобразования гекса в ASCII?