Pregunta

El año pasado tuve que convertir y la fuente vieja Mac OS 9 de todo para alguien de usar en un PC. Descubrí que en ese entonces los datos de la fuente se almacena en el atributo extendido com.apple.ResourceFork. El tamaño real del archivo se mostrará como 0 en el terminal. Yo era capaz de evitar esto, simplemente imprimiendo el valor de ese atributo extendido el uso de xattr -p fuente com.apple.ResourceFork> font.ttf.

Ahora con Snow Leopard y las cosas de compresión de archivos HFS + han cambiado. Si ahora se intenta imprimir un viejo estilo de atributo extendido sólo obtendrá el hexágono y no el valor. Nuevos atributos extendidos aparecen sin ningún tipo hexagonal menos que se especifique con la opción -x. He aquí un ejemplo:

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

Running -p xattr en el ResourceFork será hexagonal de salida, ejecutarlo en cuarentena se obtiene ASCII. Obviamente Apple cambió la forma en que manejan atributos ampliados y quizás se olvidaron de la gente que todavía mantienen su OS 9 fuentes alrededor.

¿Hay algo que me falta aquí o me acaba de escribir un script para convertir el hexadecimal a ASCII?

¿Fue útil?

Solución

También puede acceder a tenedores de recursos añadiendo "/ rsrc" o "/..namedfork/rsrc" al nombre del archivo. Trate cp Rublof/rsrc Rublof.ttf. Dicho esto, las bifurcaciones de recursos están en desuso, mientras que los atributos extendidos no son. El mecanismo de "/..namedfork" podría desaparecer de futuras versiones. Si eso sucede, puede intentar xxd a convertir de nuevo a binario:

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

Otros consejos

Convertir el tenedor de recursos en un tenedor de datos no va a hacer lo que necesita - que todavía está en formato tenedor de recursos, por lo nothing'll será capaz de utilizarlo. Para conseguirlo en un formato multiplataforma, es necesario un convertidor como fondu . Se va a excavar a través de una fuente de Mac maleta de estilo antiguo y extraer recursos sfnt (fuentes TrueType y OpenType) en .ttf y archivos .otf, recursos de Correos (PostScript) para .pbf archivos y NFNT y recursos de fuente (fuentes de mapa de bits) en archivos .bdf.

Por cierto, el / paquete de Mac OS X desde la sección de descargas de SourceForge me da un error cuando lo instalo, pero parece que instalar correctamente todos modos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top