【发布时间】:2011-07-02 11:11:29
【问题描述】:
首先是一些背景信息。
似乎使用 CSS3 @font-face 规则可以在任何浏览器、任何版本的 Windows(XP 及更高版本)上以意想不到的方式与 ClearType 字体呈现交互。
当我遇到它时,我首先将其记录为Google Font Directory bug。进一步的研究似乎产生了相互矛盾的信息;启用或禁用 ClearType 可能有助于或损害 @font-face 字体在 Windows 中的任何 Web 浏览器中的呈现方式。 ClearType 是帮助还是伤害似乎完全取决于所使用的字体,以及其中内置的提示类型。
例如,thread on TypeKit's support site 似乎表明 ClearType 禁用时出现字体渲染问题。但是,开发了jQuery plug-in 以在启用 ClearType 时改进字体呈现,但该插件仅适用于 Internet Explorer。有趣的是,插件演示页面上使用的字体在启用 ClearType 时渲染效果不佳,但在禁用它时,两个演示页面的渲染相同/正确。
因此,鉴于所有这些背景信息和先前的研究,我的问题是:
无论 Windows ClearType 设置如何,确保在所有平台上为现代浏览器提供良好字体渲染的最佳方式/折衷方案是什么?
我的第一个想法是使用默认包含@font-face 字体的样式表。 JavaScript 可以检测用户的操作系统,如果检测到 Windows,可以通过编程方式修改样式表类以使用不包含 @font-face 字体的字体系列,从而使用系统原生的后备字体。后来我意识到,其他人也想到了this。不过,这是一个笨拙且不雅的解决方案。理想情况下,我希望我的网络字体无论平台如何都可以使用,而不依赖于 sIFR 或 Cufon 之类的东西。
有没有人有指点或更好的想法?
【问题讨论】:
-
我患有同样的疾病。还没有找到治愈方法... :)
标签: windows css font-face cleartype