css - Chrome 中的网络字体

标签 css webfonts text-rendering

我有一个 webfont 在 Firefox 上看起来很棒,但在 Chrome 上却不是那么好。我试过使用 text-rendering 属性,结果并不理想。我的 CSS 是这样的:

@font-face {
    font-family: 'TextFont';
    src: url('[my font file url]') format('truetype');
    font-weight: normal;
    font-style: normal;
}
body {
    font-family: TextFont, Tahoma, Geneva, sans-serif;
    text-rendering: auto;
}

更改 text-rendering 在 Firefox 中似乎没有任何作用,所以我发布了一个截图。

结果:

  • Firefox(又名“它应该是什么样子”)

    enter image description here

  • Chrome - 文本渲染:自动

    enter image description here

  • Chrome - 文本渲染:optimizeLegibility

    enter image description here

  • Chrome - 文本渲染:optimizeSpeed

    enter image description here

  • Chrome - 文本渲染:geometricPrecision

    enter image description here

与 Firefox 相比,所有 Chrome 屏幕截图看起来都非常糟糕。 我在 CSS 中遗漏了什么吗?

我使用的是 Windows 7、Firefox 8.0 和 Chrome 15.0。

最佳答案

不确定这是否是您所看到的,但 Chrome 在消除锯齿和 truetype 字体方面存在问题。根据 http://www.fontspring.com/blog/smoother-web-font-rendering-chrome ,您可以改为在字体中的 TrueType 之前指定 SVG 字体,例如:

@font-face {
font-family: 'MyWebFont';
src: url('webfont.eot'); 
src: url('webfont.eot?#iefix') format('embedded-opentype'),
    url('webfont.svg#svgFontName') format('svg'),
    url('webfont.woff') format('woff'),
    url('webfont.ttf')  format('truetype');
}

最大的缺点是 Safari 会同时下载 svg 和 woff。

关于css - Chrome 中的网络字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8513637/

相关文章:

html - 将绝对定位的 div 展开并定位到相对定位的父级

javascript - 如何在多个 Canvas html5上绘制圆圈?

css - 使用 webfonts 在输入字段中垂直定位文本

css - 如果 Bootstrap CSS 文件托管在本地,字形会损坏

qt - 我可以在 Qt Quick Controls 2 中全局切换到 native 文本渲染吗?

javascript - 如何添加导航下拉菜单?

css - Bootstrap 网格 - center-block 不将元素定位在中心 - 为什么?

css - 考虑到页面加载时间,使用本地字体文件或谷歌网络字体哪个更有效?

php - 使用ImageMagick和PHP使用自定义字体绘制文本

c - 是否可以使用纯 GDI 将抗锯齿文本渲染到透明背景上?