@ font-face在IE9中缺少字符/字形

时间:2011-12-08 10:40:34

标签: internet-explorer-9 font-face

我在IE9上使用@font-face时遇到了一个奇怪的问题。我使用font-squirrel

将我们想要的字体的TTF转换为WOFF,EOT和SVG

这看似很好,我可以使用Paul Irish's @font-face CSS来获取适用于Chrome / Safari和Firefox的类型。问题是IE9。

在IE9中查看时,使用该字体的文字缺少字符。例如短语

The quick brown fox jumps over the lazy dog

显示为

 h   uick bro n fox ju p  o  r th  lazy do

我将每个字体设置为单独的@ font-face声明以进一步调查。 Chrome(例如)使用WOFF,TTF和SVG渲染上述短语。奇怪的是,IE9使用相同的缺失字符呈现WOFF和TTF。但它不会加载EOT。

有没有人知道原因可能是什么?任何帮助将不胜感激。

Comparison image showing the above visually

编辑2011.19.12:感谢大家的回答,我仍然没有找到解决这个问题的方法。碰巧的是,我们的一位设计师发现了他们想要使用的另一种字体,使问题变得不那么重要,但是我仍然想深究这一点。

7 个答案:

答案 0 :(得分:2)

对我来说,IE9渲染格式的方式听起来有点不对,但是其他浏览器......(a)与字体类型的兼容性问题,或者(b)IE可以转换的损坏处理?我无法重现症状,所以这可能不是真正的答案。

我会使用squirrel进行新的转换,并且可能会使用脚本来检测浏览器代理并在必要时加载大多数IE兼容的字体 - 然后使用Chrome / FF和其他webkit浏览器中的好的。

请告诉我这是否有帮助。

答案 1 :(得分:1)

尝试使用<!--[if IE9]><[endif]-->条件标记来显示在IE中有效的字体。

我会就此问题与Microsoft联系,他们可能会在Windows Update上修复或推出一些修补程序。

答案 2 :(得分:1)

我有这个确切的问题 - 通过fontsquirrel.com创建的两个网页字体在IE9中丢失了字母但没有其他浏览器。似乎v9是唯一一个为webfonts获取.woff文件的IE版本,虽然其他浏览器使用我很好,IE却没有。奇怪的是,我使用命令行工具sfnt2woff解决了这个问题,该工具转换了.oft&amp; .ttf文件信息.woff文件。我保留了fontsquirrel生成的所有其他webfont文件,但用两个来自sfnt2woff的破坏字体替换了.woffs,并且在IE9中一切正常。

答案 3 :(得分:0)

尝试使用字母间距进行试验,这可能会有所帮助。

http://forums.mozillazine.org/viewtopic.php?f=9&t=2326571

答案 4 :(得分:0)

我可能遇到了类似的问题:Iconic fonts displayed partially in IE9-10

在我的情况下,它只发生在生产中。你呢?

答案 5 :(得分:0)

我昨天刚刚在IE9上使用fonts.com的webfont遇到了这个问题。花了我们几个小时,但我们使用的.eof字体在fonts.com上以某种方式被破坏了。在我的情况下,我们自己托管字体,而不是通过JS。所以仔细检查字体。希望有所帮助。

答案 6 :(得分:0)

今天有这个问题使用来自MyFonts的Cantoni。 IE9除外,显示效果很好。我在几个地方使用它作为标题。每个标题上的前一个或两个字符消失。

我唯一能够可靠地修复它的是在每个丢失的字母的标题之前添加&nbsp;。不是很干净,不太确定为什么它工作,但它确实适合我。不幸的是,它需要我使用负文本缩进来重新移回标题以使其正确对齐。