本地化你的字体:土耳其语的 i
Turkish and a couple of related languages distinguish between an İ/i with dot and an I/ı without a dot. If you plan to have small caps and ligatures in your font, you should take a few minutes to read this.
土耳其有一座城市名为 Diyarbakır,这是一座伟大的城市,因为它既包含不带点的 ı,又包含带点的 i。
你看,在其他语言中不会有这样的区别。如果你要将这个单词设为大写或小型大写,i 就会失去圆点变成 I,这样就无法和不带点的 I/ı 区分开,这不好。
所以,我们要教会我们的字体讲土耳其语。如果语言被设置为某种区分 I/ı 和 İ/i 的语言,它就必须要保留 i 的点:
在 Glyphs 中有一个简单的解决方案。首先,确保你的字体中包含 idotless
和 dotaccentcomb
。如果你还没有,只需要将 i
复制两个副本。将其中一个重命名为 idotless
,删除圆点。另一个重命名为 dotaccent
并删除字干。这是在你还没有 dotaccentcomb
的情况下。为两者重设锚点(Cmd-Opt-U)。
现在创建字符形 Idotaccent
和 idotaccent
,尤其是后者。Glyphs 会自动将 idotless
和 dotaccentcomb
组合成这个字母,从而形成了一个 i
的副本。
如果 Glyphs 在你的字体中找到了 idotaccent
,它就可以自动在你的 locl
特性中创建相应的条目。这会在土耳其语(TRK
)、哈萨克斯坦语(KAZ
)、鞑靼语(TAT
)、克里米亚鞑靼语(CRT
)和阿塞拜疆语(AZE
)中将 i
替换为 idotaccent
。这些语言中都有 idotless
和 idotaccent
的区分。
现在,只需创建 idotaccent.sc
和 idotless.sc
作为小型大写字母,这样就完成了。如果你的语言设置为上列语言之一,i
就会首先被 idotaccent
替代。因此,当小型大写特性生效时,就再没有 i
,只有 idotaccent
和 idotless
了,它们分别具有各自的 .sc
形式。
现在你需要做的所有事情,就是在 “字体信息” 的 “特性” 选项卡中单击更新按钮(带有圆形箭头的那个)。呼!
带 i 的合字
类似的问题也会出现在带有 i 的合字上,通常就是 fi
和 f_f_i
。如果你的字体中有这样的合字,在其中 i 没有了圆点,这对土耳其语而言就不好了。所以我们需要确保这些合字被阻止掉。有三种可能的方式来处理:
可以什么都不做,只依靠你神奇的 idotaccent
,如前文所述。i
会被替换为 idotaccent
,因为只有找到了 f-i 序列才会触发合字,所以这样就没问题了。
或者调整你的设计,使得 fi 和 ffi 合字不丢失其圆点。这种情况下,你可能会想将特性代码从 sub f i by fi;
改为 sub f [i idotaccent] by fi;
。
或者,第三种办法是,另外引入 f_idotaccent
和 f_f_idotaccent
合字。这会非常酷。
就是这样了,你的字体学会了五种新语言!导出字体,并用你最爱的克里米亚鞑靼语诗歌来测试吧。或者,如果你的克里米亚鞑靼语业已生疏,只用 Diyarbakır 这个地名测试即可。
备注:在 2.0 以前版本的应用程序中,
idotless
被称作dotlessi
。
2013-11-13 更新:移除了一段过时的、关于手动编辑语言系统条目的内容。Glyphs 现在可以自动处理这个。
2014-12-11 更新:更新为新的无圆点字符形备注。
2014-09-02 更新:更新为 Glyphs 2 中新的字符形名称。
Chinese translation by Willie Liu (刘育黎) from 3type (三言).