【发布时间】:2011-07-22 14:08:34
【问题描述】:
有据可查(例如here)IE9 忽略了操作系统范围的字体平滑设置(也称为抗锯齿)。即使在 Windows 中禁用了字体平滑和 ClearType,IE 仍然显示抗锯齿字体,一些用户难以阅读,尤其是在小字体时。
如何在 IE9 中禁用所有字体抗锯齿(ClearType 或其他)?
更多详情:
我们公司构建了一个使用大量小字体的 Web 应用程序。随着 IE9 的发布,我们的一些用户抱怨 IE9 的默认抗锯齿使我们的小字体变得模糊或模糊。所以我们需要帮助那些已经安装了 IE9 并且想要关闭抗锯齿功能的用户。
另外,就我个人而言,我在阅读小的抗锯齿字体时遇到了麻烦,所以我想要一个我自己使用的解决方案,即使对于我无法控制的网站也是如此。
在 IE8 中,我可以取消选中“始终为 HTML 使用 ClearType”,然后在操作系统中禁用 ClearType,IE8 将显示所有字体的别名。但在 IE9 中,缺少此选项。
在对该问题进行一些研究后,我了解到:核心问题是 IE 依赖 DirectWrite 进行文本渲染,并且不支持任何更新的渲染选项,这些选项将在没有抗锯齿的情况下绘制文本并尊重用户的操作系统范围的默认选择。
更糟糕的是,如果您在操作系统中禁用 ClearType,在某些情况下 IE 将回退到 DirectWrite 的默认非 cleartype 抗锯齿,这甚至比 ClearType 更模糊。
【问题讨论】:
-
@BoltClock,可能想检查一下,你会感到惊讶。我认为 ManagedSpy 显示了这一点。
-
@SilverbackNet:我看到的都是谣言……
-
微软已经发布了一个补丁来修复Windows上IE9中的字体...support.microsoft.com/kb/2545698
-
@David:补丁不起作用,这里是确认这一点的人:social.technet.microsoft.com/Forums/en/ieitprocurrentver/thread/…
标签: wpf internet-explorer-9 antialiasing cleartype directwrite