合字
You would love to know how to create ligatures? It’s super easy. Try it.
有时,字母之间会碰在一起,看上去就不太好。这种情况经常在小写 f 身上发生,它总是会伸到下一个字母的上面去;而如果下一个字母恰好带有上升部,比如小写 l、b 或 h,字母就会相碰。在这种情况下,字体设计师会选择制作一个 “合字” 字符形。
创建合字
比方说,我们的小写 f 和小写 h 撞在了一起:
这不太好。所以我们来创建一个合字字符形:选择 “字符 > 添加字符形…” 并键入 f_h
。换言之,合字中每个部分各自的字符形名称,通过下划线相连。Glyphs 会将 f
和 h
作为部件预置在合字中:
现在,我们需要把这些部件转换为独立的路径,从而切断它们和原本 f
和 h
之间的连接。我们在 “字符” 菜单中选择 “释放部件”(Cmd-Shift-D)即可。现在我们得到了这样的轮廓:
我们可以根据喜好来编辑它们:
好吧,请不要笑,我不是世界上最好的合字师,这也没什么大不了。不论如何,这样就完成了字符形的创建。但是,怎样让它工作呢?
创建合字特性
合字通过 OpenType 特性来起作用。只要你为合字字符形设置了正确的名称,Glyphs 就会为你自动生成这些特性。只需打开 “字体信息”(Cmd-I),前往 “特性” 选项卡,点击左下角的圆圈箭头按钮:
然后,Glyphs 会创建一个名为 dlig
的特性(或许也会同时创建一些别的特性)。如果你单击它,就可以看到特性代码:
sub f h by f_h;
其含义是:将序列 f
– h
替换为合字字符形 f_h
。完全是我们想要的结果,耶!
liga 和 dlig
不过等一下,为什么它叫 dlig
?这是 “自由合字”(discretionary ligatures)的缩写,意味着这一特性是 “默认关闭” 的,换言之,用户需要先手动打开它。
如果我们希望它默认打开,需要将其放入名为 liga
(标准合字,standard ligatures)的特性中。最好的办法是在字符形名称中添加 .liga
后缀。本例中,我们将合字重命名为 f_h.liga
。
现在我们再来点击 “字体信息 > 特性” 中的圆圈箭头按钮,你瞧,我们得到了一个带有如下代码的 liga
特性:
sub f h by f_h.liga;
很棒!
需要说明的是,一些合字字符形会被直接放入 liga
中,因此它们不需要添加后缀。以下为完整列表:
fi
fl
f_f
f_f_i
f_f_l
你可能注意到了,fi
和 fl
不符合我们之前提到的命名规则。由于历史原因,它们属于例外,因为这两个字符形名称早在 OpenType 出现的很久之前就已经存在了。
事实上,如果你愿意,你还是可以将它们命名为 f_i
和 f_l
,但是这样它们就会进入 dlig
中——除非你加上 .liga
后缀。
测试合字
想看看合字是否真的有效果吗?打开一个编辑选项卡(Cmd-T),输入一个包含合字序列的单词,本例中是 “hifhum”。(我认为这个词没有什么含义,如果有的话,希望不是什么不好的意思。)现在点击窗口左下角的 “特性” 按钮,在弹出菜单中选择 liga
:
然后合字就会生效:
如果它没有生效,请确保字符形名称正确。或许可以再去 “字体信息 > 特性” 中点击圆圈箭头按钮,重新生成特性代码,然后再试一次。
好的,这就是全部相关内容了。祝合字愉快!
2016-02-19 更新:更新 Glyphs 2 截图。
2019-04-10 更新:将 “图层” 菜单改为 “字符” 菜单。
Chinese translation by Willie Liu (刘育黎) from 3type (三言).