2

我有一种字体在 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 响应代码。

4

3 回答 3

2

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

于 2012-07-09T18:34:29.073 回答
0

尝试使用字体生成器。

于 2012-06-20T03:43:26.790 回答
0

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

于 2013-05-06T14:58:16.513 回答