Google Chrome中是否有“字体平滑”?

我使用谷歌网页字体,他们罚款超大字体大小,但在18px,他们看起来很糟糕。 我已经在这里和那里读到了有关字体平滑的解决方案,但我没有找到任何可以清楚解释的地方,我发现的几个片段根本不起作用。

我的h4在几乎所有的浏览器中看起来都很糟糕,但Chrome是最糟糕的。 在Chrome中,几乎所有的字体看起来都很糟糕。

任何人都可以将我指向正确的方向吗? 也许你知道一个解释清楚的资源? 谢谢!

示例屏幕#1

该屏幕截图显示了https://www.dartlang.org/的主页,这是一种由Google制作的编程语言(因此我们可以暗示该网站也是由Google构建的)并使用Google Webfonts。

屏幕截图显示了左侧的Google Chrome浏览器,右侧的Firefox / Internet Explorer浏览器:

谷歌浏览器在左边,右边是firefox / internet explorer

示例屏幕#2

该屏幕截图使用Typekit提供的网页字体显示Adobe.com上的产品信息页面。 Adobe和Typekit在字体方面是专业人士。

屏幕截图显示了右侧的Google Chrome浏览器,左侧的Firefox / Internet Explorer:

谷歌浏览器在左边,右边是firefox / internet explorer


问题的状态,2014年6月:修复了Chrome 37

最后,Chrome团队将发布针对此问题的修补程序,Chrome 37将于2014年7月向公众发布。请参阅当前稳定版Chrome 35和最新Chrome 37(早期开发预览版)的示例比较:

在这里输入图像描述

问题的状态,2013年12月

1.)通过@import<link href=或Google的webfont.js加载字体时没有合适的解决方案。 问题在于,Chrome只是简单地请求来自Google API的.woff文件,这些文件可怕地渲染。 令人惊讶的是所有其他字体文件类型都呈现得非常漂亮 但是,有一些CSS技巧会使渲染字体“平滑”一些,您会在此答案中找到更深入的解决方法。

2.)当自承载字体时,有一个真正的解决方案,首先由Jaime Fernandez在此Stackoverflow页面上的另一个答案中发布,它通过以特殊顺序加载Web字体来解决此问题。 我只想复制他的优秀答案感觉不好,所以请在那里看看。 还有一个(未经验证的)解决方案,建议仅使用TTF / OTF字体,因为几乎所有浏览器都支持它们。

3.)Google Chrome开发人员团队就此问题开展工作。 由于渲染引擎有几处巨大的变化,显然有一些进展。

我已经写了一篇关于该问题的大型博客文章,请随时看一看:如何修复Google Chrome中难看的字体呈现

可重现的例子

在Chrome 29中查看今天最初问题的示例:

正面例子:

左:Firefox 23,右:Chrome 29

在这里输入图像描述

正面例子:

顶部:Firefox 23,底部:Chrome 29

在这里输入图像描述

负例:Chrome 30

在这里输入图像描述

负例:铬29

使用-webkit-text-stroke修复上述屏幕截图:

在这里输入图像描述

第一行是默认的,第二行有:

-webkit-text-stroke: 0.3px;

第三排有:

-webkit-text-stroke: 0.6px;

所以,修复这些字体的方法就是简单地给他们

-webkit-text-stroke: 0.Xpx;

或RGBa语法(nezroy,在评论中找到!谢谢!)

-webkit-text-stroke: 1px rgba(0,0,0,0.1)

还有一种过时的可能性 :给文本一个简单的(假的)阴影:

text-shadow: #fff 0px 1px 1px;

RGBa解决方案(可在Jasper Espejo的博客中找到):

text-shadow: 0 0 1px rgba(51,51,51,0.2);

我做了一篇关于此的博客文章:

如果您想要更新此问题,请查看相关博客文章:如何修复Google Chrome中难看的字体呈现。 如果有消息,我会发布消息。

我原来的答案是:

这是谷歌浏览器中的一个大错误,谷歌浏览器团队确实知道这一点,请看这里的官方错误报告。 目前,在2013年5月,即使在报告错误11个月之后,它仍未解决。 这是一个奇怪的事情,唯一使Google Webfonts混淆的浏览器是Google自己的浏览器Chrome(!)。 但是有一个简单的解决方法可以解决问题,请参阅下面的解决方案。

来自Google Chrome团队开发团队的声明,2013年5月

在bug报告中的官方声明评论:

我们的Windows字体渲染正在积极开展中。 ...我们希望在开发人员可以开始玩的一个或两个里程碑内有一些东西。 一如既往地,稳定的速度与我们能够根除和消除任何回归的速度有多快有关。


我遇到了同样的问题,我在Sam Goddard的这篇文章中找到了解决办法,

解决方案是如何定义对字体的调用两次 。 首先,建议您使用所有浏览器,并且在针对具有特殊媒体查询的Chrome进行特定通话后:

@font-face {
  font-family: 'chunk-webfont';
  src: url('../../includes/fonts/chunk-webfont.eot');
  src: url('../../includes/fonts/chunk-webfont.eot?#iefix') format('eot'),
  url('../../includes/fonts/chunk-webfont.woff') format('woff'),
  url('../../includes/fonts/chunk-webfont.ttf') format('truetype'),
  url('../../includes/fonts/chunk-webfont.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'chunk-webfont';
    src: url('../../includes/fonts/chunk-webfont.svg') format('svg');
  }
}

在这里输入图像描述

使用这种方法,字体将在所有浏览器中呈现良好效果。 我发现唯一的缺点是字体文件也被下载了两次。

您可以在我的页面中找到这篇文章的西班牙文版本


Chrome不会呈现像Firefox或任何其他浏览器那样的字体。 只有在Windows上运行Chrome时,这通常是个问题。 如果您想使字体平滑,请使用像这样的yer h4标签上的-webkit-font-smoothing属性。

h4 {
    -webkit-font-smoothing: antialiased;
}

你也可以使用subpixel-antialiased ,这会给你不同类型的平滑(使文本有点模糊/阴影)。 但是,您需要每晚查看效果。 您可以在这里了解更多关于字体平滑的信息。

链接地址: http://www.djcxy.com/p/66455.html

上一篇: Is there any "font smoothing" in Google Chrome?

下一篇: Google Web Fonts displaying poorly on Chrome Mac