IE 9在某些条件下不使用子像素抗锯齿

Jac*_*cob 16 antialiasing text-rendering cleartype internet-explorer-9

[原标题:IE 9文字渲染效果很差; 有解决方法吗?)

IE 9正在渲染我的应用程序中的文本非常糟糕.问题不在我的显示器的清除类型设置中,因为兼容模式下的IE 9,Firefox和Chrome都能很好地呈现文本.以下是对IE 9,兼容模式下的IE 9和Chrome进行文本渲染的并排比较:

IE 9

IE 9兼容模式

在此输入图像描述

我尝试应用这个答案,但它似乎不适用于IE 7后的任何内容.有人知道我们可以应用于我们的网站来修复IE 9的坏文本呈现的任何变通方法吗?

编辑:

我把问题页面简化为最基本的要点.正如您所看到的,重现并不需要太多.如果IE9和IE9标准的文档模式,请确保IE具有浏览器模式:

<html xmlns="http://www.w3.org/1999/xhtml">
  <body style="background-color: rgb(30, 34, 59); color: rgb(255, 85, 0); font-size: 20px">
    Home
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

Dav*_*tas 13

简短回答:当您以pt(点)而不是像素指定字体大小时,这是一个问题.

所以会发生的情况是新的IE9渲染引擎使用DirectWrite,它不会像使用GDI +那样捕捉到最近的像素,所以如果你的pt大小没有映射到整个像素数,它就会以这种方式绘制它,这使它显得模糊.

IE8兼容模式不会遇到这个问题,因为它使用我们习惯的常规GDI渲染.

因此,请检查您的所有样式表等,如果你所要求的点大小字体的,这也正是将在IE9中给出,并根据所使用的等你的字体,你点的大小可能会或可能不会映射到清晰细腻的大小.

这在这里详细解释:

  • 不错的链接.但是,我的样式表都使用基于像素的字体大小,所以我不认为这是原因.在我的示例图像中,文本特别是11px. (3认同)

Mar*_*cel 3

似乎设置opacity:.9999bodyIE9 标准模式下渲染文本与 Quirks 模式下的渲染方式更加相似。

  • Microsoft 已发布补丁来修复 Windows 上 IE9 中的字体... http://support.microsoft.com/kb/2545698 (3认同)