Pergunta

No ano passado, tive que converter e a fonte antiga do Mac a partir do OS 9 para alguém usar em um PC. Descobri que, naquela época, os dados da fonte eram armazenados no atributo estendido com.apple.resourcefork. O tamanho real do arquivo será exibido como 0 no terminal. Consegui contornar isso simplesmente imprimindo o valor desse atributo estendido usando o xattr -p com.apple.resourcefork font> font.ttf.

Agora, com o Snow Leopard e as coisas de compactação de arquivo HFS+ mudaram. Se agora você tentar imprimir um atributo estendido de estilo antigo, obterá apenas o hexadecimal e não o valor. Novos atributos estendidos aparecem sem hexadecimal, a menos que especificado com a opção -x. Aqui está um exemplo:

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

A execução do xattr -p no recursofork produzirá hexadecimal, executando -o na quarentena que você obtém ascii. Obviamente, a Apple mudou a maneira como eles lidam com atributos estendidos e talvez eles se esqueçassem de pessoas que ainda mantêm suas fontes OS 9.

Há algo que estou perdendo aqui ou apenas escrevo um script para converter o hexágono em ASCII?

Foi útil?

Solução

Você também pode acessar os garfos de recursos anexando "/rsrc" ou "/..namedfork/rsrc" ao nome do arquivo. Tentar cp Rublof/rsrc Rublof.ttf. Dito isto, os garfos de recursos são preteridos, enquanto os atributos estendidos não são. O mecanismo "/..namedfork" pode desaparecer de lançamentos futuros. Se isso acontecer, você pode tentar o XXD para converter de volta ao binário:

xattr -p com.apple.ResourceFork Rublof | xxd -r > Rublof.ttf

Outras dicas

A conversão do garfo de recursos em um garfo de dados não fará o que você precisa - ele ainda está no formato do Fork de Recursos, para que nada possa usá -lo. Para colocá-lo em um formato de plataforma cruzada, você precisa de um conversor como Fondu. Ele cavará uma mala de fontes Mac de estilo antigo e extrairá recursos SFNT (fontes TrueType e OpenType) para arquivos .ttf e .otf, postar recursos (fontes pós-escritos) para arquivos .pbf e recursos nfnt e font (bitmap fonts) em arquivos .bdf.

BTW, o pacote Mac OS/X da seção de download do SourceForge me dá um erro quando eu o instalo, mas parece instalar com sucesso de qualquer maneira.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top