变音符

教程
作者:Rainer Erich Scheichelbauer

9 一月 2017 发布日期: 3 十一月 2012

You would like to know how to build letters with accents, umlauts, tildes and what have you? Super easy, I promise.

好的,之前你已经完成了从 a 到 z 的小写字母。 现在考虑一下其他的,例如 “ä”(adieresis)和 “ñ”(ntilde)。 我们已经有了 a 和 n, 在理想情况下,我们只需要创建变音符(在这个例子中是结合标符 dieresiscombtildecomb),然后将它们像乐高砖块一样放在一起。

标符

所有这些重音符和变音符,在高级的字体设计中都被称为 “组合标符”。 Glyphs 在 “字体” 标签页的左侧边栏中为你提供了一种语言所有必要的标符。 例如,为西欧拉丁字母建立所有变音字母,前往 “语言 > 拉丁字母 > 西欧”。 右键单击它以打开弹出窗口,显示该部分中缺少的所有字符形:

在列表的底部,你会发现以 comb 结尾的一系列字符形名称。 这是 combining(结合)的缩写,这是因为我们希望将它们和下面的基础字母相结合。

全选它们,按下 “生成”,你会得到 9 个标符。 如果一切正常,你应该会看到 acutecomb, cedillacomb, circumflexcomb, dieresiscomb, dotaccentcomb, gravecomb, ringcomb, strokeshortcomb, slashlongcomb, tildecomb:

些符号都应该刚好位于 x 高度上方。 只有 cedillacomb 挂在基线上。 回到我们的例子,这就是 dieresiscomb 的样子:

这是我们的腭化符:

锚点

看到那些红点了吗? 它们被称为锚点。 锚点将基本的字形轮廓与标记连接在一起。 如果你点击它们,可以看到他们的名称。 在像 an 这样的基础字母中,它们被称为 topbottomogonek

在标符中,它们具有相同的名称,只是前面带有下划线,即 _top_bottom_ogonek

如果要为一个字符形设置预定义的默认锚点,请从 “字符” 菜单中选择 “设定锚点”(Cmd-U)。 同时按住 Option 键 “重新设定锚点”(Cmd-Opt-U)为默认值。 如果要创建一个新的锚点,只需右键单击并从上下文菜单中选择 “添加锚点”:

如果要重命名锚点,可以在灰色信息面板中更改其名称。 或者选择它并敲回车键:

如果你选择了锚点,将会获得所有可能的标符位置的灰色预览,如下所示:

我们称这个为标符云。不错。

部件

现在我们有了所有的 “原料”,基本的字母和标符,而且它们都有各自的锚点。 所以我们只需要让 Glyphs 为我们建立变音字母。但有哪些变音字母呢? 我们需要哪些? 他们各自的字符形名称是什么?

同样,右键单击字体视图中的 “语言”。 在 “拉丁文字” 下方的 “西欧” 中可以找到 adieresisntilde

选择它们,Glyphs 将使用部件构建两个字母。 部件是你原始字母的实时、链接的副本。你可以通过 “字符 > 添加部件”(Cmd-Shift-C),将任何其他的字符形作为部件添加到当前字符形中。 Glyphs 甚至在一定程度上支持部件的嵌套(即,将部件构成的字符形再次作为部件)。 adieresis 包含部件 a 和部件 dieresiscomb。 部件显示为灰色预览,而不是你通常看到的路径。

由于其自有属性,你无法编辑部件,只能编辑它指向的原始字符形。 如果你编辑它们,只需双击某个部件,它的原始字符形就会被打开。 如果你更想编辑路径,而不需要链接的状态,则可以通过从部件的上下文菜单选择 “释放” 或者 “字符号 > 释放部件”(Cmd-Shift-D)将所有所选字符形中的部件拆解成可编辑的轮廓。

adieresis 的宽度和 a 同步,dieresiscomb 的相对位置则通过锚点完成。 如果你不想自动定位和同步位置,可以右键单击相应的部件,然后从上下文菜单中选择 “停用自动对齐”:

无论如何,现在我们的变音字母是这样的了:

i 和 j

到现在为止还进行的挺好。 然而有一个小写字母会造成问题。 或者其实有两个:i 和 j。 如果你想给这两个字母加上贴任何符号,你需要先把上面的原点去掉。 换句话说,我们需要一个没有点的 i 和一个没有点的 j。

幸运的是,有一个没点的 i,叫做 idotless;以及一个没点的 j,被称为 jdotless。如果你已经绘制了 i 和 j,那么可以快速而简便地创建它们。 只需选择 i 中不带点的部分,然后从 “字符” 菜单或右键菜单中选择 “将所选内容转换为部件”:

Glyphs 将为你创建 idotless 方便你继续往下操作。j 也是一样,你也会有一个 jdotless。 现在我们也可以构建 i 和 j 的变音字母了。

诚然,小写字母 j 很少带有变音符号。 据我所知,唯有世界语的书面语使用带有读音符号的 j,就是 U+0135 LATIN SMALL LETTER J CIRCUMFLEX ĵ;还有荷兰语,如果正确编码,会在重读的 ij 中的 j 上添加结合尖音符 U+0301 COMBINING ACUTE ACCENT。此外,一些印度语言的拉丁转写可能会在 j 上添加同样的零宽结合尖音符。在一些拼音文字中,会出现 U+01F0 LATIN SMALL LETTER J WITH CARON ǰ。维基百科上说它也被用于使用拉丁字母书写的普什图语和瓦罕语。所以,总而言之,你有足够的理由在你的字体添加一个有一个 jdotless

如果想要创建单独的狭窄的变音标符来适应你的 idotlessjdotless,建议阅读关于窄版标符的教程

大写字母变音符

在许多设计中,常规变音符号对于大写字母来说太高了。 这就是为什么一些设计师选择为他们的大写字母作分开的标符。 请注意在本示例中,大写字母与小写设计之间是如何有所不同的:

在这种情况下,我们有两个不同版本的 circumflexcomb。 小写字母的直接就是 circumflexcomb,而大写版本还会带一个 .case 后缀:circumflexcomb.case

大写字母的符号的略有不同:符号位于大写字母的上方,锚点应该完全在大写高度上。 例如,这是 caroncomb.case 的样子:

一旦你有了 .case 标符,你便可以建立你的大写变音字母了,就像你对小写字母所做的一样。你您可以通过选择 “字符 > 用部件制作字符形”(Cmd-Opt-Shift-C)来强制重建已经存在的变音字母。

旧版标符

你可能已经注意到,在 “标符” 类别中,有一个 “旧版” 的部分:

你看,它们有十三个,它们的名字最后都没有 comb。它们只是出于历史原因而存在,但不幸的是,我们不能没有它们。 字体需要旧版标符才能向后兼容。 实际上,它们是用于在 “文本编辑” 之类的应用程序中,在你键入变音符之后、基础字母之前,用于彩色的占位符:

但是现在我们有了结合标符,就没有必要重新画了。 即使拷贝粘贴也似乎是浪费时间,因为如果我们修改了默认的标符,我们也同样需要改变旧版标符。

幸运的是,我们有部件! 并且,在这种情况下,有一种简单的方法来创建旧版标符,作为相应组合标符的 “部件副本”。你只需要是右键单击 “旧版” 条目,全选标符,然后单击 “生成”:

这将生成旧版标符,并将相应的结合标符作为部件插入其中。现在你的字体更兼容了!

提示:当需要显示占为标符时,有两个值得注意的例外。当输入 ˜ 和 ˆ 标符时,大多数应用程序显示的是它们的 ASCII 版本 asciitilde ~ 和 asciicircum ^,而非 tildecircumflex 标符本身。所以确保你的字符集中包含这两个 ASCII 符号。否则,诸如 “文本编辑” 等应用程序会将其回退为默认字体。在设计上,这两个字符形通常被绘制得比标符稍大一点、低一些。 如果你在左侧边栏中查找它们,Glyphs 会将它们分别列在 “符号” 下面的 “数学” 和 “其他” 两个子类别中。

现在就可以了。为你的字体扩展语言支持吧,现代西文字体应至少支持西欧、中欧和东南欧的语言。去做吧!

注意:在 Glyphs 2.0 之前的版本中,idotlessjdotless 分别名为 dotlessidotlessj。另外,旧版标符曾经是默认字符形。


样例字体:PLAYFAIR DISPLAY,谨感谢 CLAUS EGGERS SØRENSEN 提供。

2014-12-11 更新:对无点字符形的描述进行更新。
2015-03-28 更新:为 Glyphs 2.0 重写,说明结合标符,增加关于旧版标符的章节。
2016-01-18 更新:增加 j 变音字母的额外情况。感谢 Igor Freiberger
2017-01-09 更新:增加关于 asciicircum 和 asciitilde 的提示,感谢 komplicado 指出。
2018-07-28 更新:修正一些录入错误。感谢 Nathalie。

Translation: 李灵鸥 Li Lingou
Revision: 刘钊 Liu Zhao