IE11嵌入式字体不起作用 - 尝试了所有常用方法

时间:2015-07-04 07:30:11

标签: html css internet-explorer fonts

我有一套嵌入式字体,可以在Firefox,Chrome,Safari中正常使用 - 但是,惊喜,惊喜,不是在IE中(第11版,但在10中试过,但也没有工作)。

我可以在IE中加载一些,但不能加载其他版本。 css示例:

/* working */
@font-face {
    font-family: 'FoundersGroteskWeb-Semibold';
    src: url(./fonts/FoundersGroteskWeb-Semibold.eot);
    src: url(./fonts/FoundersGroteskWeb-Semibold.eot?#iefix) format('embedded-opentype'),
        url(./fonts/FoundersGroteskWeb-Semibold.woff) format('woff');
    font-style: normal;
    font-weight: normal;
            }

/* not working */    
@font-face {
    font-family: 'FoundersGroteskX-CondensedWeb-Bold';
    src: url(./fonts/FoundersGroteskX-CondensedWeb-Bold.eot);
    src: url(./fonts/FoundersGroteskX-CondensedWeb-Bold.eot?#iefix) format('embedded-opentype'),
        url(./fonts/FoundersGroteskX-CondensedWeb-Bold.woff) format('woff');
    font-style: normal;
    font-weight: normal;
}

提供字体,所有字段都正确,等等。我注意到的一个区别是所有其他浏览器都在加载woff文件,而IE则使用(第一个,非#iefix)eot文件。所以我尝试删除对eot文件的所有引用,强制IE11使用woff。再次,它加载第一个很好,但没有使用第二个(所有其他浏览器加载都没有问题)。

当我检查IE上的网络选项卡时,我可以看到第一个字体的200响应,但第二个字体根本没有任何内容,看起来它可能在css的解析中窒息。但是,鉴于这两个声明与字体名称相同,我不明白为什么会这样。

任何人都有任何想法我还能尝试什么,因为我已经没有吸管了?

3 个答案:

答案 0 :(得分:9)

IE 9(我认为10和11)在字体名称声明上有31个字符限制。请尝试将您的字体名称重命名为“FoundersGroteskX-CndWeb-Bld”;这是30个字符,只是为了安全(因为31个字符的限制包括引号和分号。

答案 1 :(得分:0)

根据您之前的建议,我也尝试尽量减少字体名称,但这仍然无法在最新的IE中使用:

</style>
<style type="text/css">

@font-face { 
  font-family:"Avenir"; 
  src: url("./Fonts/Avenir.eot");
  src: url("./Fonts/Avenir.eot?#iefix") format("embedded-opentype"),  
       url("./Fonts/Avenir.woff") format("woff"); 
} 

</style>

你认为IE不再接受woff字体吗?

答案 2 :(得分:0)

检查字体下载安全性,应该启用加载字体图标。

导航至:

  

IE&gt;互联网选项&gt;内联网&gt;自定义级别&gt;下载&gt;字体下载