糟糕的字体渲染Chrome

时间:2014-01-09 10:46:45

标签: css3 google-chrome webfonts font-awesome

我如何解决这个问题?

首先在Chrome浏览器31.0.1650.63 m上呈现“D”,在IE11上呈现第二个“D”。

Chrome rendering

IE 11 rendering

更新

添加-webkit-font-smoothing: antialiased;问题仍然存在...... enter image description here

视频卡可能有问题吗?

更新2:

css字体代码:

 @font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Open Sans Light'), local('OpenSans-Light'), url(../font/font1.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans'), local('OpenSans'), url(../font/font2.woff) format('woff');
}

5 个答案:

答案 0 :(得分:14)

这是Chrome渲染引擎的一个问题,但看起来这最终会被解决。见https://plus.google.com/u/0/+FrancoisBeaufort/posts/PGPpiQr6bwi

问题出在Chromium的bugtracker上: https://code.google.com/p/chromium/issues/detail?id=333029 https://code.google.com/p/chromium/issues/detail?id=25541

编辑:
Chrome 37中添加了支持漂亮字体渲染的DirectWrite支持。 (来源:https://code.google.com/p/chromium/issues/detail?id=25541#c152

答案 1 :(得分:7)

这是Chrome本身的一个问题。该问题仅存在于Chrome for Windows上。 Chrome的Mac和Linux用户没有这个问题。你无能为力。

答案 2 :(得分:1)

您是否尝试过将此CSS添加到Chrome浏览器中?

-webkit-font-smoothing: antialiased

给它一个镜头,看看它是否有帮助。

答案 3 :(得分:1)

我遇到了同样的问题,以下代码是我发现的最好的工作。不知何故,如果你隐藏并重新显示正文的内容,字体将正确加载 希望这有帮助

body {
    -webkit-animation-delay: 0.1s;
    -webkit-animation-name: fontfix;
    -webkit-animation-duration: 0.1s;
    -webkit-animation-iteration-count: 1;
    -webkit-animation-timing-function: linear;
    font-family: folio_medium;
}

@-webkit-keyframes fontfix {
    from { opacity: 1; }
    to   { opacity: 1; }
}

答案 4 :(得分:0)

我发现给予svg字体文件更高的优先级可以解决这个问题。

@font-face {
  font-family: 'HelveticaNeueLTStd-Bd';
  src: url('../assets/fonts/helvetica/2B7A70_0_0.svg#wf') format('svg'), // first means higher priority
  url('../assets/fonts/helvetica/2B7A70_0_0.eot');
}