挑战:
提供动态网页字体,可在所有主要浏览器、设备和操作系统上呈现可接受的效果
故事:
所以我过去使用过 cufon 或 sifr,后来放弃了这两种方式,转而使用 @font-face。在生产中使用@font-face一段时间后,我有了一个可怕的发现。许多字体(大多数?)在 Windows XP 中看起来就像垃圾,无论浏览器如何。即使在 google chrome 中,XP 也会呈现令人无法接受的锯齿状和丑陋的字体。
我知道为什么会发生这种情况。在阅读了许多有关旧堆栈溢出的优秀文章后,我明白问题不是字体提示,而是 XP 将清除类型设置为默认关闭。因此,无论应用程序如何,默认情况下,XP 中的所有字体都是锯齿状的。
所以...如果@font-face在任何地方都可以很好地工作,但XP在清除类型关闭的情况下,并且仍然优于cufon,我们应该做什么?
可能的解决方案:
- 默认为 @font-face,Cufon 具有针对 Windows XP 的用户代理嗅探功能。
(目前正在使用,但非常不喜欢它)
- @font-face 单独使用尚未可知的强制清除类型的方法
- 库丰一个人:(
- 另一个范例
失败的解决方案:
- Adobe Typekit(在他们自己的网站上 XP 中出现锯齿状!,尽管他们显示的是平滑的 jpeg 样本)
- Google Webfonts(XP 也有同样的问题)
- @font-face 单独(XP 也有同样的问题)
到目前为止,Cufon 可以在任何地方使用,但很糟糕,并且如果您正在制作任何动画或希望在事后更新文本,则会带来额外的挑战。
您是否有完全跨浏览器和跨操作系统的解决方案?处理这个问题的最佳方法是什么?
我很确定网页字体看起来很丑,缺少一些暗示(编辑:不,尽管仍然需要提示才能使字体在 Windows 上看起来不错,但这里真正的问题是 XP 中禁用的 ClearType。但是,这个答案无论如何都有一个解决方案).
与其他操作系统上的字体渲染器不同,Windows 引擎依赖于字体附带的提示信息。如果提示丢失、损坏或损坏,字体就会看起来很丑——就这么简单。幸运的是,有一种方法可以使用以下命令向 ttf 字体添加一些自动生成的提示ttf自动提示 http://www.freetype.org/ttfautohint/。添加提示后,您可以从增强的 TTF 生成所需的不同网络字体格式(eof、woff 等)。此外如果禁用字体平滑,您应该尝试使用 SVG 字体,因为它们总是使用抗锯齿进行渲染。
我写了一个关于如何在 Pixels|Bytes 上创建网络字体的文章 http://pixelsvsbytes.com/2013/11/how-to-create-perfect-web-fonts-in-3-steps/,它解释了如何向字体添加提示以及如何使用我的字体 Smoothie 脚本 https://gist.github.com/letorbi/5177771必要时启用 SVG 字体。希望这可以帮助 :)
PS:我知道这里不会赞赏链接到我自己的博客,但我认为我的帖子描述了问题的一个很好的解决方案,所以我还是发布了它。如果您希望我删除该链接,请发表评论,我会这样做。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)