Localize your font: Roma­nian and Mol­do­van comma accent

教程
作者:Rainer Erich Scheichelbauer
en fr zh

5 五月 2018 发布日期: 26 八月 2012

For Romanian and latin Moldovan, your font needs comma accent letters, in particular S/s and T/t. With this tutorial it is simple to get them right and to implement them.

罗马尼亚语的带逗号变音符的 S 和 T 很容易做。

首先,新建名为 commaaccentcomb 的字符形:将你的逗号拷贝进去,移动到基线之下,可能再稍微调节一下尺寸。通常,正常的逗号(标点)可能看上去太大了,主要是太高。对于其粗细,请根据字干粗度确定。无论如何,逗号变音符必须足够能看到,因此不要将其缩小太多。它可以伸出下降部线一点,尤其是在下降部较短的粗体中。

至于位置,逗号变音符需要出现在 T 字干和 S 弧线下方的正中央。别忘了设定锚点(Cmd-U)或重设锚点(Cmd-Opt-U),然后你会得到如下所示:

注意我们是如何将锚点放在形状上端水平线段中点正上方的(本截屏中,由蓝色参考线标注)。如果在逗号变音符和 T 的中间都放置了 bottom_bottom 锚点,然后它们就能完美对齐。有时 S 需要依视觉放置 bottom 锚点,这样底端变音符最终会出现在视觉中心。

现在你可以创建带逗号变音符的字母了。敲 Cmd-Shift-G 并键入:

Scommaaccent
scommaaccent
Tcommaaccent
tcommaaccent

这样就完成了。就这么简单,真的。你通常不需要为大写字母创建单独的 .case 版本。

尾形符和逗号变音符

等会儿,还不算完成。还有一件事。你可能听说过 Unicode。在上古时代,罗马尼亚语中带逗号变音符的字符被编码在 U+015E(S)、U+015F(s)、U+0162(T)和 U+0163(t)。到目前为止还不错。不幸的是,某个人将这些字符命名为 WITH CEDILLA(带尾形符)而非 WITH COMMA ACCENT(带逗号变音符):

U+015E LATIN CAPITAL LETTER S WITH CEDILLA
U+015F LATIN SMALL LETTER S WITH CEDILLA
U+0162 LATIN CAPITAL LETTER T WITH CEDILLA
U+0163 LATIN SMALL LETTER T WITH CEDILLA

这就有问题了,因为有其他的语言中存在带尾形符的 S/s,比如土耳其语,这些语言使用同样的码位 U+015EU+015F。那么,我们应该怎样绘制 S/s 呢?带上尾形符还是逗号变音符?

不必绝望,有一个办法。为了应对这个问题,Unicode 为带逗号变音符的字母引入了替代码位:

U+0218 LATIN CAPITAL LETTER S WITH COMMA BELOW
U+0219 LATIN SMALL LETTER S WITH COMMA BELOW
U+021A LATIN CAPITAL LETTER T WITH COMMA BELOW
U+021B LATIN SMALL LETTER T WITH COMMA BELOW

所幸,现代罗马尼亚语文本确实使用这些新码位。Glyphs 也会将你的 commaaccentcomb 字母们放在这里。

locl 特性

不过有时,你会遇到使用旧编码的文本。这种情况下,Glyphs 会自动在 locl 特性中创建相应内容,在语言设定为罗马尼亚语的时候将 scedilla 转换为 scommaaccent,诸如此类。

要实现这个,只需创建你的字母,前往 “文件 > 字体信息 > 特性”,并单击 “更新” 按钮。Glyphs 应该会创建一个 locl 特性,其中包含如下内容:

language MOL;
sub Scedilla by Scommaaccent;
sub scedilla by scommaaccent;
sub Tcedilla by Tcommaaccent;
sub tcedilla by tcommaaccent;
language ROM;
sub Scedilla by Scommaaccent;
sub scedilla by scommaaccent;
sub Tcedilla by Tcommaaccent;
sub tcedilla by tcommaaccent;

如你所见,Glyphs 不仅创建了罗马尼亚语特性代码(ROM),还创建了摩尔多瓦语代码(MOL)。摩尔多瓦语是摩尔多瓦共和国所讲的罗马尼亚语变种,因此以上所有内容也适用于摩尔多瓦语。

Glyphs 不仅会自动在 locl 特性中生成 MOLROM 代码,也会在 “前缀” 中添加相应的语言系统条目。所以,只要坐好放松,按下 “更新” 按钮,让 Glyphs 为你进行它的魔法。

带尾形符的 T 和 t

在这些之后,还有一个附带损失。据我所知,在地球上没有什么地方的书面语言使用带有尾形符的 T 和 t。那么我们应该如何处理 U+0162U+0163

基本上有两种处理方法:

1. 有时会不一致但尽管这时也依然至少有 50% 是正确的办法:一种学派认为,因为这些码位只会被用于带逗号变音符的罗马尼亚语 T/t,我们也可以将 Tcedilla 画得像 Tcommaaccent 一样,将 tcedilla 画得像 tcommaaccent 一样。为此,只需进入 Tcedilla(以及小写 tcedilla),全选(敲两次 Cmd-A)并删除。然后,在该字符形中将 Tcommaaccent(或相应的 tcommaaccent)作为部件放入。你可以选择 “图层” 菜单下的 “添加部件”(Cmd-Shift-C)随后选择 Tcommaaccenttcommaaccent 来完成。

2. 一致性更佳但有时是 100% 错误的办法:有人会说这不好,因为可能会导致不一致——在罗马尼亚语文本中,带有尾形符的 s(错误的)会与带有逗号变音符的 t(正确的)一起出现。这些人认为较差的设计还是要优于不一致的设计,因此建议使用尾形符绘制 T 和 t 并将其放在 TcedillaU + 0162)和 tcedillaU + 0163)中,即使这些字母并不真正存在。如果启激活了 locl 特性,那么无论如何都将正确替换它。因此,在最坏的情况下,会出现设计不佳的字母,但绝不会出现任何不一致之处。Glyphs 在默认情况下会像这样创建 Tcedillatcedilla

选择哪种方式随你决定。在罗马尼亚设计师中,两个阵营里都有倡导者。上次我问他们时,似乎有更多的人喜欢不一致的方法(上述第一个),但是我并没有就此问题对有代表性的人数进行过适当的研究。

大写和小写

最后一点建议。通常情况下,你可以只绘制一个逗号重音符用于小写和大写两种情况。但是如果这款字体对于所有其他变音符都做了大小写区分,那么你也可以考虑使用 commaaccentcomb.case 变体。其中的大写逗号变音符可能会更长一些,更匹配大写字母的较粗的字干。如果你已经有了一个单独的大写字母尾形符,那么就还需要一个大写的逗号变音符。一旦有了大写的逗号变音符,只需使用 “字符 > 创建组合字符形”(Cmd-Opt-Shift-C)重新生成带有逗号变音符的大写字母即可。


示例自体:BEGA 由 SABINA CHIPARĂ 和 DIANA OVEZEA 设计。

2014-09-02 更新:更新为 Glyphs 2 中新的字符形名称。
2016-02-19 更新:更新为 Glyphs 2 的截图。
2018-05-02 更新:一些改写,文字润色,更新了截图。(感谢 Sabina Chipară!)

Chinese translation by Willie Liu (刘育黎) from 3type (三言).