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