Gecko和Webkit浏览器支持通过text-rendering: optimizeLegibility
渲染连线ff fi fl ffl(字体必须有连字,例如Calibri)。
MDN page说,只有大小为20px及更高的文本才能获得连字。根据{{3}},这不是真的:
text-rendering: optimizeLegibility
; 我在这里遗漏了什么吗?或者这只是MDN页面上的一个错误(过时?),我们应该修复它吗?
[edit]补充阅读:Smashing Magazine的my own research。
答案 0 :(得分:4)
Firefox支持首选项browser.display.auto_quality_min_font_size
,它允许您调整用于决定是否选择其字体呈现路径的值。然而,在当前版本的Firefox中仍然很受欢迎的代码的唯一部分是在Windows XP上,其中小字体或显式text-rendering: optimizeSpeed
将使用GDI而不是Uniscribe呈现。
请注意,Thunderbird出于某种原因将该首选项的值设置为零。
答案 1 :(得分:2)
实际上,MDN页面说20px或更高版本的文本将以任一方式获得连字,并且optimizeLegibility会覆盖它。
更一般地说,使用连字是否值得(以及影响易读性的其他因素,例如任何两个特定字形之间的特定字距),不仅因大小而且因字体而异。通过版本发现这种变化非常快,我不会感到惊讶。当然,潜在的技术并没有停滞不前。
答案 2 :(得分:2)
您的分析是正确的。一些额外的观察:
显然CSS3 Fonts中描述的font-variant-ligatures
属性尚未实现。相反,Firefox实现了低级font-feature-settings
属性,前缀为-moz-
,因此您可以通过设置
-moz-font-feature-settings: 'liga' 0
在元素上。
如果您希望在特定事件中防止连字,您可以在字符之间插入ZERO-WIDTH NON-JOINER(ZWNJ),否则可能会被绑定,例如f‌i
代替fi
。