Glyphs 3:造你爱的字

博文
作者:Rainer Erich Scheichelbauer
en zh

1 September 2020

一直以来,Glyphs 和大家一同进步。现在,是时候来用你更爱的方式造字了。欢迎来到 Glyphs 3。

Glyphs 的第三个大版本更新,比以往任何时候都更可定制、更人性化、更稳定、更高效、更智能,特别是,更加平等地支持各个文种。经过为期三年的深入开发,我们很高兴地发布 Glyphs 3。

以前一直在用 Glyphs? 这里有一份 Glyphs 3 新增功能的概要。

全新图标,全新 “开始”

来和新图标打个招呼:

我们希望你也能喜欢这个新图标,就像我们一样。我们和意大利裔美国设计师 Andrea Trabucco-Campos 及 Matteo Bologna 一同见证了这一设计的诞生和成长,如果不能看到它常驻程序坞上,我们肯定会深深想念的。

所以,让我们来双击一下这个应用程序吧,怎么样?当你不通过文档启动 Glyphs 时,会看到全新的 “开始” 屏幕

看,这里有 “创建新文档” 和 “打开最近文件” 的选项,以及一系列指向网站的帮助链接。你也可以之后通过 “窗口 > 开始屏幕” 唤出这一对话框如果你选择新建文档,你可以通过预创建所需要的字符形来构建你的字体

如果你选择在启动时停用了 “开始” 屏幕,你也可以从 “文件 > 从字符集新建…” 来直接唤起新建文档窗口。

很好,那么我们开始画字吧。

绘制形状

切换到 “绘制工具”(P),绘制新路径,并在拖动手柄时按下 Cmd 键。这样可以锁定对侧手柄的长度,从而绘制出不对称的平滑手柄

当然,还可以结合空格键,在鼠标不抬起的情况下,移动当前节点组合的位置。

说到曲线,我们调整了 “调适曲线” 面板。加号和减号按钮可以增减当前的曲率。按钮下方的短竖线指示全部所选曲线段的当前手柄长度。这样,你可以在选择新曲率前,进行充分的考量。

“视图 > 显示节点 > 额外节点” 可以显示尚未建立的交叉节点。这意味着,无需事先去除重叠,就可以在交叉点处添加角部件了。对于无损添加油墨槽的设计非常有用,例如:

现在你可以添加……嗒哒:线段部件了!新建名称以 _segment打头的字符形,后加 “点后缀名”,绘制一条开放路径并设定锚点(Cmd-U)。然后在主路径上选择一段线段,从上下文菜单中选择 “添加线段部件”:

这样,你就可以将同样的开放路径插入到主路径的线段中了。这一功能让你可以让笔画中的减细加粗保持一致,或画些更复杂的东西,比如托斯卡纳风格的设计。

从上下文菜单释放所选的线段。最棒的一点是,它们可以插值并导出到可变字体中!请阅读线段部件的教程

现在你可以将 _brush 字符形中的封闭轮廓应用作线段上的笔触了。它们可以伸缩并弯曲,附着在路径线段上。所以你就可以做这样的酷炫效果了:

所附着的路径是闭合还是开放,线段是直线还是曲线都没有关系。同样,可以从上下文菜单释放。请阅读笔触的教程

另外,传统部件现在会通过轻微的色调变化指示其对齐状态。自动对齐的部件显示为绿色,未对齐的部件则只是灰色。本例中,dotaccentcomb 未对齐,而基字母 idotless 为自动对齐:

在 Glyphs 3 中,你可以非破坏地为路径应用实时的笔画粗细。选中任意一段开放或闭合的路径,在窗口右下角处,可以看到一个笔画面板:

之前,这一功能已经可以通过诸如 “偏移路径” 的滤镜和相应的自定义参数实现。但现在,可以实时变化,并可在编辑视图查看,你还可以应用这些图形属性

  • 笔画粗细:以单位计的笔画扩展宽度。
  • 笔画位置:居内、居外或内外等分。最后一项会让一半向外扩展、一半向内扩展。但如果是奇数,外侧扩展会多出 1 单位。例:11 单位,则内侧扩展 5 单位,外侧 6 单位。如果你想让分配结果更精确,考虑在 “字体信息 > 其他” 中设定更高的细分
  • 填充:为闭合轮廓填充颜色或渐变。仅在彩色图层中可用。
  • 蒙板:若一个闭合路径被定义为蒙板,那么它会从任何预先排序的形状中被减去。通过 “滤镜 > 形状顺序” 控制形状的顺序。对于漏板设计以及插画非常有用。
  • 笔画末端(在实时和 “偏移路径” 滤镜中都可用):选择一个路径端点(开放路径的第一个或最后一个节点),然后从右下角小按钮上显示的线条端头样式中任选一个。

为一个路径设定了这些图形属性之后,你可以通过上下文菜单,从一个路径上拷贝粘贴属性到另一个路径。同样在上下文菜单中,你可以扩展轮廓,使其变成如导出字体中一样的、闭合的轮廓结果。

编辑

现在,你可以聚焦在路径上了。编辑复杂的字符形时,你或许想专注于编辑一个路径,保持其他路径不动。选择一个路径,或路径的一部分然后从上下文菜单中选择聚焦所选路径

或者编辑完之后锁定字符形,避免之后的意外编辑。同样,在编辑视图打开字符形,在上下文菜单中切换 “锁定” 状态:

编辑视图和字体视图中,都会有右上角的锁头图标指示相应字符形的锁定状态:

如果锁定整个字符形太过分了,就只锁定一个路径。如你所料,只需点击路径上的一个节点,从上下文菜单中选择 “锁定路径” 即可:

之后试图用鼠标拖动节点时,节点便不会移动,只是会显示为红色高亮:

从上下文菜单中解锁路径。相应的菜单项则是——你猜对了,“解锁路径”。

上下文菜单中曾经名为 “建立于角点” 的功能现在改名为 “建立尖角”。和当前所选节点相连的线段分别延长,直到相交为止。举例而言,是去除衬线的好办法。

一些菜单有所调整。“变换” 和 “去除重叠” 移动到了 “路径” 菜单。“变换” 的次级功能现在分成了独立的、更易访问的菜单项,我们把它们放到了应该在的地方。首先,“字符 > 变换量度”:

……“路径 > 变换” 本身,……

……以及 “路径 > 和背景插值”:

这些调整都使得 “滤镜” 菜单不那么凌乱,这样你就可以通过 “插件管理器” 让它重新凌乱起来,哈。稍后会有更多关于这个的内容。一些其他菜单项被重命名得更加可靠:

  • “字符 > 创建组合字符形”(Cmd-Ctrl-C),旧名 “用部件创建字符形”
  • “路径 > 其他 > 建立尖角”(也位于上下文菜单中),旧名 “建立于角点”
  • “滤镜 > 形状顺序”,旧名 “修复兼容性”

“编辑 > 特殊粘贴”(按下 Opt 键,Cmd-Opt-V),现在可以向选中的目标字符形中将字符形作为部件粘贴

以及,还可以通过 “字符 > 添加部件”(Cmd-Shift-C)同时向多个字符形中添加相同的部件

选择

在作编辑之前,需要先选定对象。Glyphs 3 全新提供了两种选择路径的方法:首先,可以使用“套索工具”(Shift-V):

……并用鼠标圈选要选择的部分即可:

噢,我们还有个非常酷的东西。还能想起在超粗的窄斜体中选择内容有多难吗?现在只需倾斜选框即可:拖动鼠标的同时,按住 Ctrl 键来改变倾角:

在编辑多个兼容的母版?那么保持母版间所选内容同步是个好主意。要实现这个,只需确保 “编辑 > 图层间所选内容保持同步” 启用即可。Glyphs 会在你切换不同母版图层时,确保相同的节点、锚点和部件保持选定。

多母版

……说到这个:我们更新并彻底修改了 Glyphs 中多母版编辑的工作方式。其中之一,如果你的母版非常多,以至于无法在工具栏中作为按钮显示,那么可以在窗口右上角的折叠菜单中访问所有母版:

我们现在有了修正路径方向的全新算法,可以在形状重新排序和定义起始节点时产生更一致的结果。因此,在每个母版上运行该命令后,字符形兼容将更有可能。即使失败了,现在也可以直接在 “母版兼容视图” 中移动起始点。打开 “ 视图 > 显示兼容性”(Ctrl-Opt-Cmd-N),然后将起始点拖到其他母版中的任意节点:

“图层” 面板获得重大升级。现在,它具有更多功能。其中之一,现在可以轻松地对备份图层重新排序:

将图层拖放到母版图层上,两者会调换位置,效果与在齿轮菜单中选择 “用作母版” 相同。另外,齿轮按钮旁边现在有了一个小小的 “过滤器” 按钮,可以在 “图层” 面板中隐藏备份图层仅显示当前母板中的图层。可以让面板不那么凌乱。更棒的是,现在可以在上下文菜单和齿轮菜单中设置图层类型,不再需要指明花括号和方括号图层的命名规则。只需要在添加为特殊图层之后,双击名称即可访问其设置:

中段图层:旧名 “花括号图层”,位于问题字符形特定轴坐标上的中段母板。使用 “重新插值” 从当前母版层中获取图层内容。

替代图层:旧名 “方括号图层”,问题字符形的替代母板,在特定轴坐标上切入。嘶,你甚至可以在同一个图层上将两种图层类型合而为一。这样,就可以在替代插值中也有中段图层了。哇哦!

如果在下拉菜单中选择的同时按下 Option 键,所有编辑命令都可以应用于全部母版。为了将全部命令安排到键盘上,我们不得不改动少量的键盘快捷键:

  • “字符 > 更新量度”(Ctrl-Cmd-M)
    + Opt:在全部母版中
  • “字符 > 添加部件”(Cmd-Shift-C)
    + Opt:在全部母版中
  • “字符 > 创建组合字符形”(Ctrl-Cmd-C)
    + Opt:在全部母版中
  • “字符 > 释放部件”(Cmd-Shift-D)
    + Opt:在全部母版中
  • “字符 > 设定锚点”(Cmd-U)
    + Opt:在全部母版中
  • “字符 > 重设锚点”(Cmd-Shift-U)
    + Opt:在全部母版中
  • “路径 > 修正路径方向”(Cmd-Shift-R)
    + Opt:在全部母版中
  • “路径 > 坐标取整”
    + Opt:在全部母版中
  • “路径 > 清理路径”(Cmd-Shift-T)
    + Opt:在全部母版中
  • “路径 > 去除重叠”(Cmd-Shift-O)
    + Opt:在全部母版中
  • 单个节点的上下文菜单:“设为初始节点”
    + Opt:在全部母版中
  • 单个或多个节点的上下文菜单:“展开角”
    + Opt:在全部母版中
  • 一对或多对节点的上下文菜单:“重新连接节点”
    + Opt:在全部母版中

对于多母版的工作轻松了很多。请记住我们改动了一些键盘快捷键,虽然只是之前版本 Glyphs 中用到 Opt 键的那些命令。现在 Opt 见被保留作 “全部母版” 的动作。最重要的,“清理路径” 和 “创建组合字符形” 换了新的快捷键。不过我们很快就习惯了这些,我们相信你也会的。

预览

有所求,有所获:现在你可以通过 Apple 的 CoreText 引擎,预览当前样式所排版的大段文本了。从 “编辑 > 文本预览” 进入文本预览面板:

现在,你还可以在预览窗格中随意拖动。如果字体样式很多,或在 “编辑视图” 中打了太多文本,那么这个功能就会很方便。只需使用鼠标点击并拖拽,非常简单:

颜色和图像

在 “图层” 面板中,你可以在以下可用的颜色图层类型中选择:

  • 颜色:会导出为字体中的 SVG 表,或通过 “滤镜 > 将字符形导出为图像” 导出为彩色图像文件(SVG、PDF 或 PNG)。你也可以将母版层设为此类型。在 “颜色” 图层中,可以将颜色应用于笔画、使用纯色或渐变填充封闭轮廓、向对象添加投影和发光。
  • 色板:会导出为字体中的 CPAL/COLR 表,需要与 “文件 > 字体信息 > 字体” 中的色板设置一致。
  • iColor:会导出为字体中的 sbix 表,或通过 SBIX to SVG 自定义参数导出为像素 SVG。

“导出 SVG、PDF 和 SVG 图像” 现在被塞进了 “滤镜 > 将字符形导出为图像” 中。这样,每个字符形都可以有各自的设定:

它可以执行强大的功能,例如多种文件类型导出、单独的缩放和填充,以及对每个导出文件自定义命名。如果调出 “字符形信息”(Cmd-Opt-I)并将字形类别设置为 “图标”,就可以控制图像的尺寸,然后可以在灰色字符形信息面板中编辑尺寸(“视图 > 显示信息”,Cmd-Shift-I):

通过 “视图 > 显示像素预览”,你可以看到像素化后的 PNG 的样子。在上下文菜单中控制像素大小。导出的图像会是边框线之内的全部内容。按住空格键可以进行预览,看看是否有不如意的裁剪。

尽管这还是一个略带实验性的功能,但我们已经一直在用了:Glyphs 中的所有图标和其他图像,全部是在 Glyphs 中创建,并以这种方式导出的。

管理字符形

字体视图(Cmd-Opt-1)的左侧边栏中发生了不少事情。首先,字符形查找(Cmd-F)移动到了它的顶部:

不仅可以使用 GRSP(全局正则表达式输出)搜索过滤字符形,还可以将搜索和侧边栏中的其他任何分类、语言过滤器结合,进一步缩小字符形的选择范围。此外,除了字符形的名称Unicode 值,现在还可以搜索字符形备注

“分类” 不再仅仅作为过滤器,还会指示其中已有的字符形数目:

请再细看一眼:我们为 “小型大写字母” 引入了首个智能分类:它能够根据当前已创建的大小写字母,让你知道哪些小型大写字母还没有做完。因此如果你添加更多的字符形,“小型大写字母” 条目旁边的数字标记会增加 1,提醒你又有新的小型大写字母需要被添加进去了。

Glyphs 3 里最酷炫的新功能之一,是你可以在左侧边栏中自定义 “语言” 列表了。它内置有一系列世界上的主要文种,但是点击齿轮菜单即可去除你不会做的文种,并添加你特别要做的:

最棒的是,如果你打开一款字体,其中包含你左侧边栏中没有的世界文种,那么它会被暂时添加。这样,你就不必不停地摆弄齿轮菜单了。所有的字体工程师都会喜欢这个的。

字符形信息

现在可以从任何地方通过 “编辑 > 所选内容信息”(Cmd-Opt-I)访问 字符形的信息,包括编辑视图在内:

所以,不需要再切换回字体视图来编辑字符形信息了。一定要看一下 “字符形信息” 对话框中的新选项。其中之一,我们现在可以直接设置书写方向了,这一选项主要会影响字符形字偶边距的处理方式。

翻到最下面,你会看到 “排序名称”,它不仅会影响字符形在字体视图中的排序方式,也会影响最终写入编译后 OpenType 文件中的顺序。这会是 Glyphs 中大部分字符形面板所会显示为的顺序。比如说,你永远不会想让 Ø 和 Œ 之间隔着其他变音 O:

所以你会想将 Ø 移动到 Œ 前面,首先唤出 Œ 的字符形信息(“编辑 > 所选内容信息” 或 Cmd-Opt-I)。在这里,Œ 的排序名称被设置为 Oz,使得它排在各种 O 的最后。我们都是聪明人,所以打开 Ø 的字符形信息对话框,并设置其 “排序名称” 为 Oy,这样它们就会按我们想要的方式排序:

注意字符形格子右上角的小 i 符号。将鼠标在上面悬浮,会显示提示该字符形 “信息为人工设置”。这可以很好地看出字符形信息是否有正确地设置过。

“大小写” 不再是依附于 “次分类” 考虑的事情,现在是一个独立的分类。“大小写” 可以被设置为这些值:

  • 大写:所有区分大小写形式的文种,例如西里尔文、希腊文、格鲁吉亚文、阿德拉姆文、亚美尼亚文、格拉哥里文、老匈牙利文、拉丁文,以及更多文种中的大写字母。
  • 小写:这些文种中所有对应的小写字母。
  • 小型大写:所有的排版用小型大写字母和特小型大写字母,应当触发 c2scc2pcpcapsmcp OpenType 特性的。
  • 小型:所有绘制得较小、通过不同的竖向摆放位置所区分的字符形,大多数是数字,例如分子、分母、 上下标的数字/标点/字母,也包括修饰字母之类的。其要点在于,它们可以沿着斜体倾角竖直摆放,同时仍保持自动对齐。
  • N/A:不适用于上述情形的全部字符形。

模块化的字体信息

Glyphs 中,我们最喜欢的部分之一是全新 “字体信息” 窗口。其一是,新打开的 “文件 > 字体信息” 窗口一开始会显示为空白:

这是因为我们将界面改为完全模块化,添加你所需要的项目即可。最棒的是,现在有了实时说明,添加自定义参数更有趣了。点击加号按钮添加新参数时,可以浏览并搜索各项参数,在旁边阅读所选参数的说明内容(中文版的说明也在路上了):

再也不需要在说明书附录和 “字体信息” 界面之间来回切换了。许多内容都被更好地整理过,现在放到了它们应该在的位置。例如,所有和字体命名有关的内容都位于 “通用” 下。“轴” 现在是 “字体” 选项卡中单独的一节,除此之外,其他项目都放在 “自定义参数” 中。花些时间到处点点看,你会很快上手的。

在可能的地方,全新界面会让你可以轻松地将 “字体信息” 条目本地化为任意多种语言:只需点击旁边的加号按钮复制条目,从弹出菜单中选择一种语言,然后键入:

设定好条目之后,只需全选并拷贝粘贴进另一款字体的 “字体信息” 窗口,即可将这些条目搬到另一款字体中。此外,还可以同时批量编辑多个母版和子样。只需按住 Shift 或 Cmd 选择母版和子样,然后编辑条目即可。非常简单。

在 “字体信息 > 母版” 中,“量度” 彻底更新了:竖向量度和区域不再分开,因此不需要再将相同的高度数值输入两次。可以为量度添加条件过滤器,这样西里尔字母的上升部线和天城文的字头线不会出现在同一个字符形当中。全局量度会被用作 PostScript 对齐区域。

在 “字体信息 > 字体 > 导出”(旧名 “子样”)中,现在可以添加可变字体设定并使用可以应用到 OT 可变字体上的自定义参数,例如改变家族名称,或应用字集化。

OpenType 特性

现在 Glyphs 有了自己的特性代码编译器。如果你知道这意味着什么,我们很高兴地告诉你——我们告别了 Adobe 的 MakeOTF,代之以我们自己的机制来构建 GSUB、GPOS 和 GDEF 的二进制代码。这使得很多酷炫的功能得以实现。

当你看到全新的 “文件 > 字体信息 > 特性” 时,你的特性代码之心肯定会狂跳不止:它配备了优化的句法着色、Cmd-加号及 Cmd-减号快捷键调节字号,以及字符形及类名称自动补全

键入字符形的长名称再也不会出现手误了。另外,你还会爱上完全可定制的代码片段菜单,Opt-单击预览字符形及类

没错,它甚至可以显示字符形颜色。不过等等,还有更多内容。当你键入代码时,Glyphs 会偷偷看着,并检查代码的句法。如果它发现了哪里不太对劲,会高亮标出录入错误,甚至会在可能的地方建议修正

很神奇。不过 Glyphs 不仅会检查并标示当前显示的特性代码,还会在侧边栏中标记特性,如果它监测到错误的话。这样你就可以立刻看到哪个特性需要引起注意。本例中,blwf 特性出了问题:

仔细看一下这张截图,你会发现一些酷炫的功能:你可以直接在界面上设置风格变体集名称,当然是完全可以本地化的。就在 ssXX 命名之上,还有一个“技术文档” 按钮,直接链接到 Microsoft 页面上的特性技术文档。注意右下角的片段菜单。如果要添加新特性,单击加号按钮,便会获得已注册特性的完整清单,以供浏览并从中选择:

关于特性的另一件事。现在你可以使用令牌添加动态代码。令牌是一段代码,以 $ 符号开头。令牌主要用于两个目的。

首先,可以在 “文件 > 字体信息 > 母版 > 数值” 中定义一个数值。简而言之,“数值” 是可以插值的变量。例:在 “母版” 中,定义一个名为 pad 的数值,在 Light 母版中为 50,Bold 母版中为 5。在特性代码中,可以添加一个 kern字偶距)特性,里面这样写:

pos @L @A $pad;

在最终获得的 GPOS 特性代码中,令牌的位置会被相应的 pad 插值替代。不过还有更好的地方:我们来添加一个 cpsp大写字间距)特性,包含这样的定位规则:

pos @brackets <$pad 0 ${pad*2} 0>

你理解得没错。在 ${...} 结构当中,甚至可以添加算式!对于手动 GPOS 代码而言,这可谓福音。阅读这篇教程了解更多:使用 “数值” 进行定位设计

等等,如此说来数值就是你可以使用令牌实现的第一件事。那么第二件呢?请系好安全带,下一站是判断式令牌。判断式令牌具有 $[...] 结构,方括号中可以放入 NS 判断式代码。这样你就可以做很酷的事情,来为特性类动态收集字符形名称。举个例子:

sub [ $[case==smallCaps] ] slash' by slash.sc;

$[case==smallCaps] 结构可以扩展为 a.sc b.sc c.sc d.sc 等等,所以它可以展开为:

sub [ a.sc b.sc c.sc d.sc ] slash' by slash.sc;

最棒的是,这是动态进行的,因此你不需要自己添加所有的小型大写字母,也不需要担心子集化,因为这段特性代码会完全自动更新。你可以在 “前缀”、“类” 或 “特性” 代码中的任何地方添加令牌。为了给你些许启发,这里有一些判断式令牌的样例代码:

$[name endswith '.sc'] # 会扩展到所有以 ".sc" 结尾的字符形名称
$[layer0.width < 500] # layer0 = 第一个母版
$[layers.count > 1] # 使用 == != <= >= < > 比较数字大小
$[direction == 2] # 0=左至右, 1=双向, 2=右至左
$[colorIndex == 5]
$[case == smallCaps] # 预设常量: noCase 无大小写, upper 大写, lower 小写, smallCaps 小型大写, minor 小型, other 其他
$[name matches "S|s.*"] # "matches": 常规表达式
$[leftMetricsKey like "*"] # "like": 通配符查找
$[name like "*e*"] # 字符形名称中任何位置带有 e
$[script like "latin"]
$[category like "Separator"]
$[leftKerningGroup like "H"]
$[rightKerningGroup like "L"]
$[unicode beginswith "03"] # beginswith 以…开头, endswith 以…结尾, contains 包含
$[note contains "love it"] # glyph note 字符形备注
$[countOfUnicodes > 1]
$[countOfLayers > 1]
$[subCategory like "Arrow"]
$[hasHints == 0] # 布尔值: 0 为假/否, 1 为真/是
$[isColorGlyph == true]
$[hasComponents == true and script == "latin"] # 使用 OR 或, AND 和, XOR 或非 连接多个条件
$[hasTrueTypeHints == false]
$[hasAlignedWidth == true]
$[hasPostScriptHints == true]
$[hasAnnotations == true]
$[hasCorners == true] # corners = 角部件
$[hasSpecialLayers == yes] # special layers = 彩色, 花括号及方括号图层
$[isHangulKeyGlyph == no]

要验证一个令牌,试试按住 Opt 单击……嘣!哈哈,非常酷。终于,OpenType 代码又变得有趣了起来。不过等一下,还没完。

你应该已经知道 Glyphs 是怎样可靠地根据标符结合锚点来自动创建 markmkmk 特性了。这里是最新的花样:可以通过特殊的、星号开头的锚点再来设置上下文标符附着。我们以阿拉伯字母 sad-ar.init 中的 bottom 锚点为例。比如我们想要让它在前面(右边)出现 reh-ar、从下方伸入的情况下,将底部标符移动一点。现在的做法是,复制 bottom 锚点并重命名为 * bottom,即前面加一个星号 *。这就是上下文 bottom 锚点。当上下文锚点被选中时,右侧边栏面板(Cmd-Opt-P)中会在底部显示 “锚点上下文” 一节。在这里,像在 OpenType 特性中一样输入上下文字符形,加上 * 代表字符形的占位符,本例中为 reh-ar *。因为它是 OpenType 特性代码,所以你还可以输入类名称,甚至是令牌:

如果你需要多个上下文锚点,可添加任意的 “点后缀名”,例如 *bottom.noon*bottom.reh 诸如此类。

啊,我把最棒的留在了最后讲。现在可以添加特性代码预处理宏命令了。这意味着,可以仅为可变字体添加特性代码:

#ifdef VARIABLE
condition 600 < wght < 900;
sub dollar by dollar.bold;
#endif

看到了嘛?你可以直接在特性代码中添加 OT 可变字体特性变化,根据特性的 condition(条件)执行。轴标签两端都需要划定范围。如果在多个轴上具有条件,则使用逗号连接:

#ifdef VARIABLE
condition 600 < wght < 900, 70 < wdth < 90;
sub won by won.boldcondensed;
#endif

如果想让特性代码仅应用于静态字体中,请使用 #ifndef 关键词(注意 ifdef 之间多出来的 n):

#ifndef VARIABLE
sub x by x.static; # ignored in variable fonts
#endif'

扩展

“窗口 > 插件管理器” 现在可以筛选安装与否的扩展项了。我们很高兴地宣布,几乎所有可用插件都已获得升级,可以用于 Glyphs 3 了。尽情使用吧!

“插件管理器” 现在也可以管理 Python 脚本了。我们所知道的全部重要脚本合辑都列在这里,免费可用。这使得脚本更容易被更多用户使用了。顺便说,如果你觉得遗漏了什么脚本,请在论坛上告知我们,我们就会把它加上。

同样在 “插件管理器” 中,现在支持了模块,例如很多脚本所必需的 Vanilla。甚至可以从 “插件管理器” 中直接安装 Python 3——只需一键:

扩展 Glyphs 教程中阅读更多关于全新插件管理器的内容。

没错,Glyphs 3 需要 Python 3。如果你有正在使用的 Python 代码,那么很容易将脚本升级到 Python 3,同时保持它们和旧版本向下兼容。但还不止于此。你的公司拥有专属脚本集需要你来管理吗?在 “Glyphs > 偏好设置 > 插件” 中,你可以添加自定义扩展包列表链接。你所需要的所有插件、模块和脚本都可以在全公司范围中使用,可以轻松添加:

你只需要添加一个链接到 .plist 文件,就像我们在官方 “插件管理器” 仓库中的 .plist 文件一样,这样你的自定义插件就可以在 “窗口 > 插件管理器” 中一键安装了。啊,好事!

导出

我们很开心告诉大家,导出对话框已经全部重构。“文件 > 导出”(Cmd-E)命令会唤出静态字体导出对话框,以及其他功能:

可以看到,我们不再将桌面字体和网页字体分开了。这使得 “去除重叠” 选项在 WOFF 和 WOFF2 导出中也可选择,且 “轮廓格式” 也成为了可选项,无论文件扩展名如何。

以及你可能发现了:没错,我们取消了 EOT 格式。没有人还会需要这种格式了。如果你需要支持过去 10 年中开发的软件或硬件,那么它们支持 WOFF。事实上,全部现代浏览器都支持 WOFF2,以及事实上,现在没有浏览器还会支持 EOT 了。如果你真的需要支持 Internet Explorer 6,那么最可能的是你领会错了客户的意思。是时候安葬全部 EOT,迈向下一步了。不过,如果客户还是坚持需要,那么你还是可以通过在 “文件 > 字体信息 > 子样” 中添加 “Webfont Formats” 参数来导出一个这种格式的文件。

有谁需要批量导出吗?按下 Option 键,选择 “文件 > 导出全部”(Cmd-Opt-E)来根据最近一次导出设置(重新)导出打开的全部字体:

不会再有对话框,不会再有提问,只需要导出就完成了。是导出字体家族(罗马正体和意大利斜体)并切换到测试应用程序的的最快方式。

偏好设置

“Glyphs > 偏好设置” 窗口被完全重做了,我们相信现在的版本更加合理。首先,全新的 “外观” 一组:

在这里,你可以自定义全部颜色,浅色模式或深色模式都可以。顺便,“手柄大小” 设置也会影响到 Glyphs 界面里的文本字号:选择较大的手柄大小,文本也会变大。我们想这样会更合理一些。就像全新 “样本字串” 一节中的次分类

感觉默认样本字串缺少什么?告知我们,我们会在下次更新中添加进去!

噢,可能是 “偏好设置” 中最棒的一点:自定义键盘快捷键

并且,不仅对于菜单命令(之前也可以通过 “系统偏好设置” 修改),也适用于工具、变换动作和上下文菜单项目。漂亮。

中文本地化

Glyphs 3 的中文本地化团队将软件的界面翻译加以整理,术语更加统一精准,完成度也进一步提高:

现在,侧边栏中添加了完整的中文字表。不但涵盖了 GB 2312、Big5 和 Unicode 的编码字符集,还包括两岸三地不同等级的常用汉字,以及苏州码子、注音符号等非汉字字符。“基础十二字” 和独体字列表则可以用于快速开始新的中文字体项目。另外,在 “标点” 分类中,添加了 “全宽” 次分类,可以一键添加中文字体所需的各种标点符号。

汉字是惟一无法使用友好名称的文种,无法仅通过字符形名称(uniXXXX)推断出是哪一个字。现在,“字体视图” 中字符形的右下角增加了字符本身的指示,这样即使一个字没有做完,也不会搞乱:

在这张截图上,还能看到全新增加的汉字 “尺寸” 面板。可以将各个笔画粗细的极限数值记录在这里,用作参考。

另外,用于辅助汉字设计和开发的插件也将陆续进驻 “插件管理器”。“文件 > 字体信息” 中自定义参数的说明文档也在稳步翻译中。

获取方式、定价和免费升级期

软件全价为 2288 人民币。Glyphs 3 对于现有用户采取付费升级。如果你已经购买了 Glyphs 2 的许可证,则可以半价升级。学生、教师和批量购买可以享受折扣。请前往 (“获取 Glyphs”)[/buy/] 页面上查看全部细节。

在 2020 年 6 月 1 日(含)以后购买了 Glyphs 2, 就可以免费升级!当你读到这篇内容时,应该已经在购买 Glyphs 2 许可证的邮箱中收到了免费升级券。还没有收到吗?请复查一下垃圾邮件,或将 glyphsapp.com 列在你的邮件白名单中。(免费升级期仅限 Glyphs 2 许可证买家,不含 Glyphs Mini 2 或 Glyphs 1 许可证,抱歉。)

全新网站

这个或许瞒不住你,我们彻底翻新了整个网站。字体方面,我们使用了一款可变字体解决了所有问题,其名为 ABC Dinamo 的 Arizona 字体,是 Elias Hanzer 的原创设计。网站的前端开发由 Chris Corby 在巨大的时间压力下完成。

我们相信全新网站完全以用户为中心。比如,全新的 “学习” 页面可以更加方便地排序、筛选、标记书签并分享教程。在接下来的几个星期到几个月之中,我们会将全部教程升级到 Glyphs 3,所以请关注 “学习” 页面。我们也会添加更多翻译,比如西班牙语、日语和韩语。同时,我们会继续更新法语和汉语翻译。添加这些翻译确实有助于打破语言障碍,也正因如此,我们认为,当前 Glyphs 3 是全太阳系最容易使用的字体编辑工具。

并且由于全新网站会聚焦于我们出色的全球字体设计师社区,我们也很乐意接受大家对网站的意见。我们会持续收集各位用户的留言放在网站的各处,将大家的 logo 放在首页的徽标墙上,网站入口加在 “资源” 页面,开设的工作坊列在 “活动” 页面。如果想和社区分享些什么,只要告诉我们就行。

感谢

如果要在哪里对大家说声谢谢,那么就是这里了。向所有让 Glyphs 3 成长至今的人们道一声感谢。请注意安全,保持健康。