与UFO格式共事

  • by Rainer Erich Scheichelbauer
  • Tutorial
  • – Modified on

统一字体格式简称UFO是一种以XML格式为基础用于存储字体数据的文件格式。它是由字体设计师和开发者Tal Leming、Just van Rossum和Erik van Blokland共同开发的。虽然specs for version 3已经发布,但是目前UFO 2使用最广泛。

虽然您可以单独在Glyphs中生成一个字体或者字体家族,但UFO格式可以与其他工具进行交换。UFO格式可以让你有权限使用各种其他工具。这就是为什么Glyphs支持UFO格式。但是为什么一开始你要这样做呢?很简单:通常,UFO工具是高度专业化的应用程序,完全致力于特定的任务。这意味着这些工具可以找到Glyphs内置但中断了的功能。请阅读以下几个例子。

UFO不存储一切

记住一点,许多Glyphs特定的设置,如果启用或禁用组件的自动对齐,或者像悬臂技巧,不能存储为UFO格式。所以要格外小心,并在必要时仔细检查你的文件。

非常重要的是:UFO格式是单一基准字体。多基准字体Multiple Master的信息不能存储在单个UFO文件中。这意味着如果要插入(基准字体),则需要每个基准字体使用一个UFO格式。

偏好设置和文件设置

如果你想准备好进入UFO的工作流程,你将会在“ 字形 > 首选项 > 用户设置 ”中找到两个重要的选项。它们的共同之处是:它们被应用于在Glyphs应用程序中打开的所有非本地文件(比如,具有.ufo后缀的文件)。

首先,启用选项“从导入的文件中保留字符轮廓名称”,将会防止Glyphs将字符轮廓的名称转换为它自己的命名方案。在一个纯粹的Glyphs工作流程中,如果你坚持使用内部的命名方案确实会有一些好处。但是当你在应用程序之间移动很多次,你通常会希望在文件中设置名字。

其次,你可能会希望将组件的位置保留在文件中。换句话说,你可能希望禁用Glyphs强制复合字母自动对齐的功能。在这种情况下,选择“禁用导入的文件自动对齐”选项是个好主意。

上述两个设置是在 “ 文件 > 字体信息 > 其他设置 ” 中进行两个相应选项设置的,即使用自定义命名(或者不在旧版的Glyphs中使用好听的名字),并且禁用自动对齐。当然,你也可以手动设置这些选项。

当然,如果你想做与之相反的事情,也就是把你的.glyphs文件放到UFO上,你可以保持默认的设置,并且充分利用自动对齐和好听的名字。

现在我们已经准备好了,我们可以用UFO格式采取行动了。

导出UFO

如果想要创建当前字体项目的UFO副本,请选择 “ 文件 > 导出 > UFO ”。在接下来出现的对话框中,你可以选择是否要将字符轮廓名称转换为产品名称。然后在接下来出现的对话框中,你可以选择要保存的UFO文件的位置。

“将字符轮廓名称转换成产品名称”的选项可以赋予可读性高的好名字,比如为西里尔大写Zhe字体起名Zhe-cy,或者以行业标准的匹配,如uni0416。虽然这些名字很难记忆,但是它们更为兼容,并且有些工具可能会希望它们的存在。我们建议:用好名字测试你的工作流程,如果不起作用,你仍然可以选择转换名称。

以UFO作为保存格式

如果你已经有一个UFO文件,你可以在Glyphs中打开它,并保持在UFO模式。保存键(Cmd+S)将直接保存UFO格式。

你也可以使用 “ 文件 > 另存为 ”(Cmd-Shift-S)将前面的文件保存为UFO副本。为了实现这一点,你需要在导出对话框中选择 “ 统一字体格式 Unified Font Object ” 作为文件格式。如果你不能保存为UFO,Glyphs将会警告你(比如,当一个有问题的文件有多于一个基准字体的时候)。在这种情况下,你需要使用 “ 文件 > 导出 ”(Cmd-E)。

一旦你的UFO文件准备好了,你就可以使用大量专门的应用程序和工具。

RoboFont

比利时设计师Frederik Berlaen的UFO编辑器——RoboFont,是为了实现最终工作流程的灵活性而从头创建的。为了实现这一点,他使用易于学习的编程语言Python,使你构建自己的工具变的非常简单。难怪,对于RoboFont,在GitHub和Web上的其他地方都提供了各种各样的插件和脚本。许多扩展名单都列在RoboFont网站上。要了解在API下面的功能,请查看LoïcSander的 “ 参数化字体设计实验 ” 视频

MetricsMachine

Tal Leming 的MetricsMachine是一款完全专注于字偶间距的应用程序。它具有专门的工具用于字偶间距组、字偶间距对的创建、层积预览、自适应上下文字符串、一系列预设等功能。该应用程序提供了一种比Glyphs更加系统和善于分析的方法来进行字偶间距的调整。

该应用程序运行一个“配对表生成器”,用于创建所选字形中所有可能的字偶间距配对。一旦你的配对设定好,你可以用上下箭头一步一步的调整字偶间距列表,用左右箭头调整一步10个单元的字偶间距,按住Shift键改为一步5个单元,按住Option键改为一步1个单元。最终,电子表格功能帮助你掌握你的字偶间距表:过滤并分析你的核心内容。

一个小的问题:什么叫Glyphs称之为的右边的组(基于所涉及的字符轮廓的一侧),MetricsMachine将它称为左边的组(基于字偶间距对的一侧)。

顺便说一下,你还可以将MetricsMachine纳入纯粹的Glyphs工作流程中。你需要做的所有事情就是导出UFO格式,并且在MetricsMachine中进行字偶间距调整。现在,你可以通过选择所有字形并且选择 “ 文件 > 导入 > 度量标准 ” ,将所有的字偶间距信息返回到 Glyphs 的文件中。在接下来出现的对话框中,选择是否要导入字偶间距或者是字偶间距组。

重要提示:所有的字符轮廓都能被影响,它们需要在导入之前被选择。所以,最好的方法可能是简单地选择所有的字符轮廓,然后导入。

Superpolator

虽然你可以单独在Glyphs中使用多基准字体(Multiple Masters),但是Erik van Blokland的 Superpolator开启了全新的插入和外推的世界。由于该应用程序完全致力于插值,因此你拥有了“立即预览”和“实时测量”选项,任意数量坐标轴上的基准字体,你命名的任意数量的字符轮廓进行单独的插值设定。简要介绍请参照Erik在Robothon 2012上关于Superpolator 3的演讲

更多的UFO工具

其实以上只是以UFO为基础的三个应用程序。仔细寻找,你就会发现更多工具,如 RoboFont 的作者 Frederik Berlaen 的roundingUFO,它已经被证明可以便利的创造“挖角”风格的设计。如果你想进入 Superpolator 的世界,Tal Leming的Prepolator帮助你为了插值准备 UFO 文件。

有趣的是,还有很多命令行工具可以与UFO文件共同使用。例如,ufo2otf,它可以允许你直接从UFO编译一个即用的 webfonts 和 OTF。说到OpenType,Adobe 自带的Font Development Kit for OpenType 可以使用 UFO 文件。Tal Leming 的ufo2fdk可以在你使用它的时候提供便利。

不要在FontLab使用UFO

如果你想在Glyphs和FontLab之间移动字体对象,使用UFO作为交换格式便是一个不明智的选择。因为在移动的过程中可能会丢失太多东西。在这种情况下,最好使用由Georg在GitHub资料库中提供的FontLab Studio的“Glyphs输入”Glyphs Import和“Glyphs输出”Glyphs Export功能


Translator/杨翕丞 Yang Xicheng
Reviser/刘钊 Liu Zhao