Fira没有看起来一致的fi和fl没有分开,看起来更大胆

时间:2017-11-09 03:40:55

标签: css css3 font-face google-fonts

目标是从文本中删除fl和fi中的粗体字母

enter image description here 铬61

我能够在此codepen中重现该问题:

https://codepen.io/jossnaz/pen/vWgEGB

基本上fira没有将任何letter-spacing应用于字符,而且它们的字符是粗体。不知道为什么。

这是它在firefox 56上的外观: enter image description here

1 个答案:

答案 0 :(得分:4)

有一个CSS属性,用于控制浏览器自动生成连字的方式。

尝试添加:

font-variant-ligatures: none;

到你的段落元素。

请参阅此代码:https://codepen.io/jossnaz/pen/vWgEGB

对于你想要控制字符间距的问题,你的源文本就像" truffle shuffle"使用单独的F和L字符,这将阻止浏览器生成连字并按照您的预期应用间距。

但是,这不是您在网站上遇到的唯一问题!

在您的页面中,文本实际上使用Unicode fi fl 连字符(U + FB01和U + FB02)。浏览器不会将这些字符分成单独的字符,而且它们包含在Google字体API中。这可能是您的CMS中的一些插件自动转换连字,或者可能是从编辑器复制和粘贴的结果。

有关此示例,请参阅:https://codepen.io/anon/pen/mqmLLZ

这些连字符不包含在webfont中 - 拉丁语连字符位于U + FB00-FB06,字体或Google的Font API都不包含它们。 因此,他们正在切换到后备字体,在这种情况下,它被指定为通用sans-serif - 可能是Arial或Helvetica。 它们本身并不是粗体,但它们比Fira Sans重。