去年,我必须将OS 9周围的旧Mac字体转换为某人在PC上使用。我发现那时字体数据存储在扩展属性com.apple.ResourceFork中。终端中的实际文件大小将显示为0。我可以通过使用xattr -p com.apple.ResourceFork font> font.ttf打印出该扩展属性的值来解决这个问题。Snow Leopard中的旧Mac扩展属性
现在雪豹和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
在ResourceFork上运行xattr -p将输出十六进制,在隔离区上运行它将得到ASCII。显然,苹果公司改变了处理扩展属性的方式,也许他们忘记了仍然保留OS 9字体的人。
有什么我在这里失踪或我只是写一个脚本来将十六进制转换为ASCII?
xxd是关键。希望我更了解我的命令。您还必须为xxd添加-p选项才能正确处理输入。仍然有加载字体的问题,但来自Rublof.ttf的十六进制转储与资源分支匹配。 – dmertl 2010-02-12 22:09:55
'/ rsrc'在10.7中停止工作,但是'/ .. namedfork/rsrc'仍然在10.8.4中工作。 – user495470 2013-09-04 08:42:36