我已收到QuarkXPress文档中包含一些不常见的字体,这些字体也发送给了我。字体位于一个名为 fonts 的文件夹中,然后它们被全部压缩到包含文档和字体文件夹的单个存档中。我相信这是在运行Mac OS X。
我已经解压了档案,但字体文件夹中的所有文件都没有大小 - 即它们都是 0 字节文件。但是还有一个 __MACOSX 文件夹,其中包含一个字体子文件夹。在这里我可以看到所有字体文件(以 ._ 为前缀),它们都有大小,即不是 0 字节。大概这些是我需要的实际字体文件,但我不知道如何在 Windows 上安装它们。
我尝试将文件重命名为 .ttf 和 .otf 扩展名,然后安装它们,但这似乎不起作用 - 我只收到“无效字体文件”消息。
还有其他想法吗?
答案1
对于某些 Mac 字体,字体信息完全存储在文件的资源分支中。在 Mac OS X 上,此类字体看起来像普通文件发现者,但来自像ls(以及任何其他使用 POSIX 层的东西)这些看起来像零字节文件。
__MACOSX/._*
Zip 文件中的文件包括苹果双资源分支和一些额外资源的组合的编码版本发现者原始文件中的信息。Mac OS X 在不支持资源分叉和 Finder 信息的文件系统上存储具有资源分叉或 Finder 信息的文件时,会使用 AppleDouble 文件(这里 Zip 被视为一个文件系统)。
我不是 Windows 用户,而且我的搜索也没有找到任何为此准备的工具。我确实找到了一套可能有用的工具。最好在 Mac 上运行它们,但它们也可能在 Windows 上运行。
如果你有 Mac
- 在 Mac 上解压 Zip 存档(双击它,不要使用命令行解压缩) 和
- 使用类似的工具火锅从资源分支中提取 TTF(或其他内容)
- (我刚刚发现火锅,我以前从未使用过;买者自慎)
如果你没有 Mac,你仍然可以使用火锅,但你需要编译火锅自己(看起来可以在 Linux 上构建它,因此您也可以在(例如)中构建它赛格威)下一个问题是火锅似乎无法读取 AppleDouble 文件,因此您必须找到可以从 AppleDouble 编码._*
文件中提取裸资源分支的工具。我不确定哪些 Windows 特定工具可能能够解码 AppleDouble,但Mac::AppleSingleDouble Perl 模块可以做到:
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 位,您应该能够使用控制平面大多数 Perl 安装都附带该工具(或者,如果您熟悉 Perl 模块的布局和安装,只需下载 AppleSingleDouble.pm 文件并将其放在适当的位置)。
答案2
Chris Johnsen 提到的 Perl 模块非常棒 - 他的命令行脚本也非常棒!我自己也需要这些信息。
在其他新闻中,t1utils 包中的 t1unmac 命令执行完全相同的字体“取消maccing”,但内置了 appledouble 支持!
答案3
这交叉字体实用程序对我有用。这.otf
将为 Windows 创建或其他可双击安装的字体文件。
在文件夹级别包含字体文件夹__MACOSX__
以确保链接的文件也包含在内,它将读取所有有效的字体文件并逐个字体列出导出选项。