Для некоторых шрифтов Mac информация о шрифтах хранится полностью в ресурсной ветке файла. В Mac OS X такие шрифты выглядят как обычные файлы в Finder, но из таких инструментов, как ls (и все, что использует слой POSIX), они выглядят как файлы с нулевым байтом.
__MACOSX/._*
из Zip-файла - это кодированные AppleDouble версии комбинации ветвления ресурса и некоторой дополнительной информации Finder из исходных файлов. Файлы AppleDouble используются Mac OS X при хранении файлов с ветвлением ресурса или информацией Finder в файловых системах, которые не поддерживают вилки ресурсов и информацию Finder (здесь Zip считается файловой системой).
Я не пользователь Windows, и мои поиски не включали никаких готовых инструментов для этого. Я нашел набор инструментов, которые могли бы работать. Лучше всего запускать их на Mac, но они могут работать и на Windows.
Если у вас есть доступ к Mac
- распакуйте архив Zip на этот Mac (дважды щелкните его, не используйте распаковку из командной строки) и
- используйте инструмент типа Fondu для извлечения TTF (или чего-либо еще) из ветки ресурсов
- (Я только что нашел фондю, я никогда не использовал его раньше; будьте бдительны)
Если у вас нет доступа к Mac, вы все равно сможете использовать fondu, но вам нужно будет скомпилировать fondu самостоятельно (похоже, что его можно построить на Linux, так что вы также можете его встроить в (например) Cygwin). Следующая проблема заключается в том, что fondu не может читать файлы AppleDouble, поэтому вам придется найти что-то, что может извлечь пустую ветвь ресурса из файла ._*
закодированного AppleDouble. Я не уверен, какие специфичные для Windows инструменты могут декодировать AppleDouble, но модуль Perl Mac::AppleSingleDouble может это сделать:
perl -MMac::AppleSingleDouble -e 'for(@ARGV) {
$a = new Mac::AppleSingleDouble($_);
if(open $f, ">", $_.".rsrc") {
binmode $f;
print $f $a->get_entry(2);
close $f;
}
}'__MACOSX/._Webdings
# now I have a __MACOSX/._Webdings.rsrc file from which fondu can extract Webdings.ttf
Если вы знакомы со сборкой инструментов Unix-oid, создание фондю должно быть простым. Для бита Perl вы должны быть в состоянии использовать инструмент cpan , который поставляется с большинством установок Perl (или, если вы знакомы с компоновкой и установкой модулей Perl, просто скачайте файл AppleSingleDouble.pm и поместите его в соответствующий место).