为什么 Merriweather Sans 在飞点中重复 l?

Why Merriweather Sans duplicate l in flying point?

当我输入 "Col·laborador" 时,我得到的是其他字母类型:

但是使用 Merryweather Sans,我得到 "Coll·laborador":

我在 ArchLinux 中使用 ttf-merriweather-sans 1.006-3

问题出在该字体的 OpenType 定义上。

它的作者为语言代码 CAT(加泰罗尼亚语)包含了一个 locl OpenType 功能,该功能应该用 /ldot 替换组合 /l' /cdot' /l。前两个名称后的 ' 个字符表示哪些字符将被新名称 (http://www.adobe.com/devnet/opentype/afdko/topic_feature_file_syntax.html#5.e) 替换。然而,作者在那里犯了一个错误:

replace /periodcentered after /l before /l with /ldot

所以它只用 ŀ 替换了 点字符 。这意味着你得到了这个

使用支持 OpenType 的程序,例如 Adob​​e InDesign(并且仅将应用语言设置为 "Catalan")。请注意双 l,如您自己的发现。

另一个程序的输出证实了这一点; 不参与替换的字符为灰色,被替换的字符为黑色。

两个 /l都是灰色的,只有中心点是黑色的。正确的定义应该是左手 lL 也显示为黑色。

您link使用的字体是1.006版本;我发现的较旧的 Merriweather Sans (1.003) 不包含此特定的 OpenType 功能,因此不会显示此错误。

要修复它,请调整 OpenType 代码并从其源代码重新生成它,或联系其作者。详细联系信息位于此字体的 Google Fonts 页面上。 (我已经在里面留言了,指的是这个问题。)