帮助将 Mac OS X 字体传输到 Windows

8 windows fonts installation macos

我收到了一份QuarkXPress文档,其中包含一些不寻常的字体,这些字体也发送给了我。字体位于名为 fonts 的文件夹中,然后将其全部压缩到包含文档和字体文件夹的单个存档中。我相信这是在运行Mac OS X的机器上完成的。

我已解压缩存档,但字体文件夹中的所有文件都没有大小 - 即它们是 0 字节文件。但是,还有一个 __MACOSX 文件夹,其中包含一个 fonts 子文件夹。在这里我可以看到所有的字体文件(以 ._ 为前缀),它们都有一个大小,即不是 0 字节。大概这些是我需要的实际字体文件,但我不知道如何在 Windows 上安装它们。

我尝试将文件重命名为 .ttf 和 .otf 扩展名,然后安装它们,但这似乎不起作用 - 我只是收到“无效字体文件”消息。

还有其他想法吗?

Chr*_*sen 9

对于某些 Mac 字体,字体信息完全存储在文件的资源分支中。在 Mac OS X 上,此类字体在Finder 中看起来像普通文件,但从ls(以及其他使用 POSIX 层的任何其他工具)等工具来看,这些字体看起来像零字节文件。

__MACOSX/._*从压缩文件文件的AppleDouble编码的资源派生和一些额外的组合版本搜索从原来的文件的信息。AppleDouble 文件由 Mac OS X 用于在不支持资源分支和 Finder 信息的文件系统上存储具有资源分支或 Finder 信息的文件(此处 Zip 被视为文件系统)。

我不是 Windows 用户,我的搜索没有为此打开任何预制工具。我确实找到了一组可能有用的工具。最好在 Mac 上运行它们,但它们也可以在 Windows 上运行。


如果您可以使用 Mac

  • 在该 Mac 上解压缩您的 Zip 存档(双击它,不要使用命令行unzip)和
  • 使用像Fondu这样的工具从资源叉中提取 TTF(或其他)
    • (我刚刚找到了火锅,我以前从未使用过它;警告空手道)

如果您无法访问 Mac,您可能仍然可以使用Fodu,但是您需要自己编译Fodu(看起来可以在 Linux 上构建它,因此您也可以在(例如)Cygwin)。下一个问题是,fodu似乎无法读取 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
Run Code Online (Sandbox Code Playgroud)

如果您熟悉构建 Unix-oid 工具,构建火锅应该很容易。对于 Perl 位,您应该能够使用大多数 Perl 安装附带的cpan工具(或者,如果您熟悉 Perl 模块的布局和安装,只需下载 AppleSingleDouble.pm 文件并将其放入适当的地方)。