当你在 Glyphs 中打开一份已编译的 .otf 或 .ttf 文件时,程序会尝试将其反向工程为 Glyphs 文件。但请注意,由于 PostScript 和 TrueType 格式的 OpenType 字体是编译过的,因此某些内容可能无法安全提取。
重要提示:始终在副本文件中操作。在某些 macOS 版本中,原始的 OTF 可能会被 “访达” 中的 Glyphs 文件覆盖——除非首先复制或拷贝过。所以,务必在副本中操作。
如果你有机会拿到原始的 VFB 或 UFO 文件,那是最好的。有一个脚本可以从 FontLab 中导出 VFB 文件为原生 Glyphs 文件。对于 UFO 格式,Glyphs 原生支持打开和保存。
如果只有编译过的 OTF 或 TTF,请确保你在法律上有权对它进行任何操作。请检查你的最终用户许可协议或询问原始设计师。
TrueType 曲线和 CFF(也称 PostScript)曲线:打开文件时,轮廓样式会得以保留。你可以使用 “路径 > 其他 > 转换为三次曲线” 或 “转换为二次曲线” 来切换轮廓种类。在 TrueType 字体中,部件会被保留。
PS 格式的 OTF(带有 .otf 后缀名)的路径会被无损保留。但请注意,在 CFF 字体中,部件会被打散为纯轮廓。如果你只是向字体里添加一个字符形并导出,这不会有什么影响。但如果你打算做更多事情,可能需要重建组合字符形。这时,“字符 > 创建部件字符形”(Cmd-Opt-Shift-C)菜单命令将非常有用。
修改字母边距时,请确保一并调整所有相关的变音字母,如 A 和 Adieresis、Atilde、Aacute、Agrave。
如果你想要进行更复杂的操作,如从两个既存字体(例如 light 和 bold)中插值出新的字重,你需要将两个母版合并为一个 .glyphs 文件。具体步骤如下:打开两个字体,切换到主要字体(如更细的或更窄的那个),选择 “文件 > 字体信息 > 母版”,打开 “字体信息” 窗口,点击窗口左下角的加号按钮并选择 “添加另一字体”,在对话框中选择次要字体,确认后该字体会被添加为第二个母版。回到 “字体信息 > 母版”,确保两个母版拥有不同的插值(如两个不同的 “Weight” 值),否则无法插值。
接下来,你需要让字符形兼容,即是在两个母版中建立同样的结构,包括路径、部件、锚点、角和帽子部件,这样形状才能插值。有两种方法检查不兼容之处:其一,在 “字体信息 > 子样” 中添加子样,或在 “字体信息 > 字体” 中添加 “Enforce Compatibility Check” 参数来强制检测兼容性。之后,Glyphs 会用红色标记标出不兼容的字符形。
要使不兼容的字符形重新兼容,你可以按下 Option 键并选择 “路径 > 在所有母版中修正路径方向”(Cmd-Opt-Shift-R)来重设每个路径的起点、重新排序路径和部件,并重设每个路径的方向。“滤镜 > 修复兼容性” 用于将轮廓和部件在所有母版中拖动为同样的顺序。“展开角” 和 “重新连接节点” 用于建立路径重叠,以便于插值。(专业提示:这两个命令也可以通过 “路径 > 其他” 子菜单调用。)在一个字符形中,遍览所有母版(Cmd-1、Cmd-2、……)并按下 Option 键选择 “字符 > 重设锚点”(Cmd-Opt-R)在每个母版中将锚点重设为默认。你可能需要手动调整锚点位置。同样,遍览所有母版并使用 “字符 > 创建组合字符形”(Cmd-Opt-Shift-C)在每个母版中重建组合。
因为准备插值是一项大工程,我们建议你通读三篇多母版教程。关于字符形合成,请仔细阅读变音符教程或复用形状教程。
此外,Glyphs 会保存字体文件中的产品名称,因此在导入字体时启用 “文件 > 字体信息 > 其他设定 > 使用自定义名称”。你可以停用 “Glyphs > 偏好设置 > 用户设定 > 在导入文件中保留字符形名称” 来更改这一行为。某些功能(如自动 OpenType 特性代码生成)依赖于这些所谓的 “优化名称”。因此,我们强烈推荐使用内建的字符形优化命名方案。除非你需要整合指定了其他命名方案的工作流中,如与其他 UFO 用户交换字体数据。简而言之,除非你有很好的理由,否则请按照以下两步行事:确保 “文件 > 字体信息 > 其他设定 > 使用自定义名称” 没有勾选;在字体视图中全选字符形并选择 “字符 > 更新字符形信息” 来重设 Unicode 值和字符形名称。更新自动 OpenType 特性代码,见下文。
请注意,有些 OpenType 特性代码可能会丢失。Glyphs 会从字体文件中编译的 OT 表中反向工程出代码,但只能做到这些。不过 Glyphs 可以根据你为字符形设置的名称来自动建立很多特性代码。因此,你可能想舍弃导入的特性代码并重命名一些你的字符形以享受自动生成的便利:默认地,合字进入 dlig(风格合字),除了 fi、fl、f_f、f_f_l 和 f_f_i 进入liga(标准合字)。如果你想强制某个合字进入liga特性,在字符形名称后添加一个 .liga 后缀即可。数字相关的特性代码如下:.lf:比例齐行数字;.tf:表格齐行数字;.osf:比例老式数字;.tosf:表格老式数字;.sc:小型大写数字;.zero:斜线零;.numr 和 .dnom:分数字;.sups、.subs 和 .sinf:下标和上标数字;.init、.medi、.fina 和 .isol 用于位置变体(词首、词中、词尾和独立造型)。有些字体的风格变体集字符形使用 .alt 后缀名;形如 .ss01、.ss02 等的后缀名允许 Glyphs 自动创建变体集。了解更多关于自动特性生成的内容,请参阅 Glyphs 手册的附录部分或相关教程。通常而言使用相应的特性作为字符形的后缀名最好。
字偶距通常会被保留但上下文字偶距不会。一个好办法是打开 “窗口 > 字偶距”,然后点击齿轮并在弹出菜单中选择 “清理”。你可能需要清理修复字偶距并在需要的情况下创建上下文字偶距。大部分字符形层面的 PostScript 会被保留对齐区域和标准字干也会被保留如果它们没有被正确设置自动渲染提示器可能会创建更好的渲染提示你只需要在将字体导出为新的 OTF 文件时启用“自动渲染提示”选项。一个缺点:字符形层面的渲染提示通常不再与节点挂钩在多母版设置中你会通过仅应用于第一个母版来修复这一点:拖动蓝色圆圈和三角到合适的轮廓节点上只要轮廓兼容第一个母版中和节点相连的渲染提示就会衍生至全部插值中或者你可以在“文件 > 字体信息 > 字体” 中通过“Get Hints from Master”参数来将另一个母版设定为提示插值的来源快速了解如何设置你的字干和区域请参阅 PostScript 自动提示教程;更深入认识 PS 提示参阅手动 PostScript 提示教程在“文件 > 字体信息 > 字体” 中Glyphs 会保留字体家族层面的信息它无法反向工程出全部内容所以你会需要手动重建一些信息原始字符形顺序保存在自定义参数中你可能并不需要这个所以除非你有足够的理由你都可以放心地删掉“glyphOrder”参数“文件”选项卡中的大部分自定义参数都是这样它们会更完整但通常不是必要的修改每个条目或许看看你的字体没有它是否还能正常工作并据此决定是否删除所有关于尺寸的信息比如竖向量度值都以自定义参数的形式存储在“文件 > 字体信息 > 母版” 中按需修改订正它们