CSS Font-face在IE8上不起作用,但适用于IE9

时间:2012-06-20 03:41:42

标签: css font-face

我在IE8和IE9以及所有其他浏览器中都有一种字体正常工作,但第二种字体仅适用于IE9和其他浏览器。在IE8中,我收到错误:

“CSS3111:@ font-face遇到未知错误。”

我一直在阅读并尝试了许多没有运气的事情。

我的代码是:

<!DOCTYPE html>
<html lang="en">
<head>
<title>Test Site</title>
<meta charset="utf-8" />
<style type="text/css"> 
    @font-face {
        font-family: "Cake";
        src: url('cake.eot'); /* IE9 Compat Modes */ 
        src: url('cake.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 
             url('cake.woff') format('woff'), /* Modern Browsers */ 
             url('cake.ttf')  format('truetype'), /* Safari, Android, iOS */ 
             url('cake.svg#svgCake') format('svg'); /* Legacy iOS */ 
    }
    p {
        font-family: "Cake";
    }
</style>
</head>
<body>
    <p>Testing font</p>
</body>
</html>

我尝试用几个不同的发生器多次重新生成eot,玩CSS,玩标题,玩域等等,但看起来它们都很好。如前所述,相同的代码,只是指向不同的字体文件工作正常。由于某种原因,这个文件不想工作。我查看了ttfpatch程序,但它告诉我字体的tableversion是3,这与其他工作字体相同。这些字体由名为Type Light 3.2的程序修改,以添加一些法语字符,但正如所提到的那样适用于所有其他浏览器。

任何帮助将不胜感激。感谢。

编辑:

我意识到的一件事是IE9没有读取EOT文件,它只是使用WOFF文件给出了同样的错误。您可以在http://www.searchfreefonts.com/free/cake.htm下载原始字体。任何人都可以在IE8中工作吗?

编辑2:

查看开发人员工具,eot字体似乎正在下载并且是正确的类型。我收到了304响应代码。

3 个答案:

答案 0 :(得分:2)

无法找到解决方案。在不同的计算机上多次重载并重新生成字体,每次查看时清除缓存,但仍然无效。其他字体工作正常,所以我的结论是eot生成器不喜欢字体。

答案 1 :(得分:0)

尝试使用font-face生成器。

答案 2 :(得分:0)

尝试使用此解决方案http://fontface.codeandmore.com/blog/ie-7-8-error-with-eot-css3111/,因为它为我们的用户多次工作。