如何将字体的所有面打包到一个系列文件中(Mac)

平面设计 字体 软件推荐 字体管理
2022-01-24 07:47:57

我有一些我在过去几年购买的字体。

这些字体质量不错,平均有 8-15 种不同的字体供家庭使用。

我遇到的问题是每张脸都在各种应用程序(Photoshop、Indesign 等)中单独列出,而不是简单地列出一个带有脸的子菜单的项目。

例如我有:(
图A)

FontA 粗体 >
           常规的
FontA 粗斜体 >
           常规的
FontA 斜体 >
           常规的
FontA Regular >
           常规的

而不是:(
图 B)

字体A >
        大胆的
        加粗斜体
        斜体
        常规的

Macintosh 上的什么工具可以将这些面孔组合在一起,以便将它们都列在姓氏下?如上图 B 所示。

我知道有几个高端应用程序(Fontographer、FontLab)。是否有任何基本的小型应用程序可以简单地编辑字体信息而不编辑字符和其他表格?我不想专门编辑实际的字体数据,只是我相信的标题和命名结构。

如何使用建议的工具执行此操作,请具体步骤?

注意:
运行 Mac OS 10.7,但如果需要可以启动到 10.6 或 10.8。我并不是绝对在寻找免费软件。如果有付费应用程序可以做到这一点,我可以接受。如果有人想在 FontLab 或 Fontographer 中概述步骤,我会全力以赴。

这些是商业 .otf 字体。

4个回答

RoboFont 是一款出色的软件(仅限 Mac),可用于在多个级别上进行字体编辑。它还可以满足您的需求:允许您打开单个文件并编辑其字体信息,然后以您需要的任何格式重新保存。我最近不得不完全按照您的要求对我的 Gotham 副本进行安装,该副本是作为单个文件而不是作为一个家庭安装的。

http://robofont.com/

RoboFont 的购买价格非常高,但实际上,该软件是针对那些绘制和编辑自己的字体的人。为此,您可能只需要 15 天免费试用。谁知道呢,也许你会迷上并购买许可证。:)

更改字体系列的步骤

  1. 在 robofont 中打开您的 .otf 文件。它们将出现在单独的窗口中。
  2. 对于每个窗口,单击选项卡字体信息(工具栏左侧的第三个选项卡)。它会向下滑动一个带有更多选项卡的编辑器。
  3. 第一个选项卡是常规,其中包括姓氏的输入框。第二个选项卡是OpenType,它允许您直接访问 nameTable,以便您可以编辑所有信息,包括样式名称。
  4. 编辑信息后,只需键入 Command(⌘) G 或选择File... -> Generate Font确保将其导出为 .otf 并保存到所需位置

RoboFont 也是用 python 构建的,因此您可以根据需要执行自己的自定义脚本。

我刚刚在运行 OSX 10.8 (Mountain Lion) 的 Macbook Pro 上将 Nexa 字体组合成一个字体系列。UI 看起来很旧(而不是视网膜),但它确实有效。

$ brew install fontforge --with-x
$ brew linkapps
$ fontforge

编辑字体

  1. 打开文件并转到元素 > 字体信息。
  2. 在 PS 名称下,将字体系列更改为您想要的通用名称。单独留下 Fontname 和 Name For Humans。
  3. 在 TTF 名称下,您可以将字符串 ID“样式(子系列)”的字符串更改为该特定字体的唯一名称,例如“Book-Italic”
  4. 选择“首选家庭”并单击删除按钮。
  5. 选择“首选样式”并单击删除按钮。
  6. 点击确定

保存文件

  1. 选择文件 > 生成字体
  2. 将字体名称下的选择框更改为 OpenType (CFF)
  3. 点击保存
  4. 忽略错误并保存

测试

关闭字体册,然后打开文件,标题中应该有通用字体名称,下拉菜单中有唯一名称。

感谢 user568458 的出色回答。

我无法在 Mac 上进行测试,而且 Windows 版本太不稳定且容易崩溃,无法测试,但这应该可以:

  • 安装FontForge(开源字体编辑器)
  • 加载不属于同一组的字体。
    • 一个没有完全分组进行实验的示例免费字体是Aller,其中 Aller Light/Light Italic 和 Aller Display 不与 Aller 常规/粗体/斜体组合。Aller 是一个非常好的平滑友好的 sans,但要小心可怕的“显示”变体,它会灼伤你的眼睛。
    • 最好处理未安装且未使用的文件...(我记得有几次我愚蠢地尝试处理系统文件夹中已安装的文件时遇到了很多崩溃...)
  • Element > Font Info

    • 您想更改家族名称,以便所有变体都具有相同的家族名称(在 Aller 示例中,Aller Light 和 Aller Light Italic 具有家族名称 Aller Light,将其更改为 Aller)。
    • 确保“重量”表示有意义的内容,不会与您现有的字体发生冲突(例如,Aller Light 的重量为“书”,更改为“灯”)。
    • 您可能会发现您还需要更改字体名称,但这应该是不必要的。
  • 检查您要调整的其他任何内容,然后在准备好时,File > Generate Font. 创建一个适当的字体文件,安装它。它应该与其他具有相同姓氏的列表合并。


如果这不起作用,请进行一些调查:

  • 我似乎记得曾经在某个地方看到过,在 Mac 上有一个fonts.list文件有点像字体和文件映射的缓存。在某些情况下,您可能需要手动更新它以使系统知道您所做的更改 - 但我认为它通常会自动处理它。
  • 您可以尝试将 .TTF 字体文件分组到一个.TTC 集合文件中,方法是一次打开它们并使用File > Generate TTC...,然后在对话框中选择适当的文件。同样,这应该是不必要的(但可能会使内务管理更容易拥有一个文件)。
  • 您可以尝试将字体合并为一个,使用Element > Merge,选择要合并的字体文件。但是,这应该是不必要的。

快速说明 - 我不太了解 FontForge 如何在后台工作,但我相信它与远程服务器有相当多的交互。像这样的正版合法作品没有问题,但任何人如果受到理论上可以使用 FontForge 导入和编辑版权字体的诱惑,应该首先仔细检查他们的常见问题解答:http: //fontforge.org/faq.html#legal

还有一个关于“只需编辑字体信息而不编辑字符和其他表格”的快速说明 - 我不是专家,但我的理解是,由于字体文件是编译的二进制文件而不是标记,所以有点像 .swf,任何更改(即使是像调整字体名称这样的简单更改)都需要您将文件反编译为您或软件可以使用的标记,然后重新编译它,在进行更改后生成新的二进制文件。这是一个总是会引入噪音和意想不到的变化的过程,因为没有一个反编译器是完美的——这只是编辑任何不是原始源文件的东西的一个特性。只要小心并且只要字体文件是合理的传统,它就应该起作用。

这并不能真正回答 OP 的问题(关于.otf文件),但我想我会提供一些关于将.ttf文件合并在一起的说明,因为它可能会让您走上其他字体格式的正确轨道。

如果要将一堆.ttf文件捆绑在一起,则需要生成一个.ttc. 你可以在 FontForge 中轻松做到这一点。

下载 FontForge

访问FontForge 网站并按照说明下载和安装软件。

收集您的.ttf文件

我以 RedHat 的Liberation Mono为例。它是一种“行为良好”的字体,这意味着一切都被正确命名。如果不是,请查看 Chad 的回答,该回答谈到进入 FontForge 中的“元素 > 字体信息”以清理名称。

打开所有.ttf要合并的文件

在“文件”菜单下,选择“打开” 文件->打开

导航到.ttf文件,shift + 单击以将它们全部选中,然后单击“确定”打开。 全选 .ttf 打开

生成.ttc

现在您将看到刚刚打开的字体的所有字形。从这些窗口中的任何一个,单击“文件 -> 生成 TTC...”。

文件->生成 TTC...

在此对话框中,只需选择要组合的所有字体。我取消选择了“Untitled1”项目,这是我打开程序时的默认项目。之后点击“生成”。

选择面,单击生成

确认正确生成

如果你做的一切都正确,你应该有一个.ttc文件将你所有的.ttf字体样式捆绑在一起。您可以在您最喜欢的字体程序中检查这一点,例如 FontBook(在 macOS 上)。

仔细检查 FontBook

恭喜

无论如何,我都不是字体专家,所以如果您不想使用.ttf.ttc文件,我不知道您还有哪些其他打包选项。这对我需要的东西来说已经足够好了。

为了给其他人省点麻烦,我还发现“元素-> 合并字体...”对话框虽然听起来像您想要的那样,但只是将两种字体的字形合并在一起。这仅在一种字体缺少一些您想从另一种字体填充的字形时才有用。据我所知,您不能将多个字形分配给一个代码点(这就是样式;同一字符的不同表示形式)。但是,我可能弄错了!