【发布时间】:2016-01-06 12:40:59
【问题描述】:
我正在开发一个使用 Google 字体 Open Sans 的网站,如下所示:
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700italic,800italic,800,700' rel='stylesheet' type='text/css'>
通常,我在处理我的网站时使用 Chrome,但今天我决定看看它在 Windows 10 上的 IE 11 (11.0.10240.16431) 中的外观。不幸的是,Open Sans 没有正确加载和呈现。我在开发者工具控制台中看到很多这样的错误:
CSS3111: @font-face encountered unknown error.
PRmiXeptR36kaC0GEAetxjqR_3kx9_hJXbbyU8S6IN0.woff
觉得这很奇怪——我之前开发了一个可以在 IE 10 中正常加载 Google 字体的网站——我前往 https://www.google.com/fonts。更多CSS3111 错误,每个自定义字体都显示在serif 中:
谷歌字体是否在 IE 11 上被破坏了?字体确实在 Edge、Chrome、Firefox 等中正确加载。我不知道如何继续让这些字体在 IE 中工作。
更新 1
在 IE 11 中将模拟文档模式设置为 8 会导致字体正确呈现。然而,IE 9+ 仍然存在同样的问题。这可能是 Google 对用户代理字符串的某种不正确处理吗?
更新 2
我去了FontSquirrel并下载了所有格式的Open Sans。我还导入了 ZIP 中提供的 CSS。不幸的是,IE 和现在的 Firefox 继续报告该字体无法使用。火狐说downloadable font: not usable by platform。
更新 3
我已确认 IE 的 字体下载 设置已针对所有安全区域设置为已启用。
【问题讨论】:
-
我自己在 Linux 上,无法对此进行测试。这应该不重要。但是当你使用 HTTP 而不是 HTTPS 时有什么不同吗?因为我之前在通过 SSL 加载 Google 字体时遇到了问题。
-
[http]://google.com/fonts 重定向到 [https]://google.com/fonts。即使存在差异,这也不是我网站的选择。该网站通过 HTTPS 提供服务,我们不希望人们的浏览器中出现“不安全内容”警告。
-
我注意到的一件事是 Google 提供的文件中只有 WOFF URL。我以为 IE 只支持 EOT?
-
我现在相当确信这是 Windows 10 的 IE 11 版本的回归。我在 Windows Server 2012 R2 的 IE 11 (11.0.9600.18036) 版本上测试了这个网站,字体加载完美。
-
我使用 Microsoft Connect 向 Microsoft 报告了此问题,并得到了他们无法重现的回复。我详细的错误报告就这么多。他们也基本上说他们不再在IE上工作了。我猜他们想忽略没有人使用 Edge 的事实。
标签: css internet-explorer fonts