CSS @ font-face有时可以在Internet Explorer中使用,但并非总是如此

时间:2015-10-16 19:36:06

标签: css internet-explorer font-face mime-types webfonts

我在使用Internet Explorer 11中的网络字体时遇到问题。字体适用于使用IE11但不是其他用户的某些用户,即使它们是相同的浏览器。对于遇到问题的用户,Modernizr.fontface仍然返回true,因此我可以将其排除在外。

以下是CSS ...

@font-face {
    font-family: 'Balthazar';
    font-style: normal;
    font-weight: 400;
    src: url('/assets/fonts/Balthazar/Balthazar.eot'); /* IE9 Compat Modes */
    src: local('Balthazar Regular'), 
         local('Balthazar-Regular'),
         url('/assets/fonts/Balthazar/Balthazar.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('/assets/fonts/Balthazar/Balthazar.woff2') format('woff2'), /* Modern Browsers */
         url('/assets/fonts/Balthazar/Balthazar.ttf')  format('truetype'), /* Safari, Android, iOS */
         url('/assets/fonts/Balthazar/Balthazar.svg#Balthazar-Regular') format('svg'); /* Legacy iOS */
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
<remove fileExtension=".woff"/>
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
<remove fileExtension=".woff2"/>
<mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2" />
<remove fileExtension=".ttf"/>
<mimeMap fileExtension=".ttf" mimeType="application/x-font-ttf" />
<remove fileExtension=".eot"/>
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
<remove fileExtension=".svg"/>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
<remove fileExtension=".svgz"/>
<mimeMap fileExtension=".svgz" mimeType="image/svg+xml" />

IE尝试渲染ttf文件,所以我认为它可能是一个mime类型的问题。部分原因是:我将mime类型更新为application / x-font-ttf,它为至少一个用户修复了它,但其他两个用户仍在遇到问题。然后我尝试在WOFF2之后添加一个WOFF,但仍然没有工作。

我不知所措。请帮忙。

1 个答案:

答案 0 :(得分:2)

试试这些......

1。检查DRM错误

IE 11 "bulletproof" font-face and fall back fonts not working如果您点击F12,重新加载页面,并查看F12工具的控制台选项卡,您是否看到任何错误消息,例如“@ font-face failed OpenType embedding permission check”。如果你这样做,可能是字体上的DRM问题,IE 11尊重而其他人不尊重。

2。检查MIME类型设置(再次)

确保mime-types符合此处的答案(您列出的那些不匹配):“Proper MIME type for fonts

3。确保CSS名称与字体文件

中的名称匹配

如果这不起作用,在CSS中声明为字体名称的名称是否与存储在文件本身中的名称相匹配? http://www.experts-exchange.com/Web_Development/Blogs/WordPress/Q_28367854.html

4。使用Google Webfont加载程序

如果修复mime-types不能解决您的问题,请尝试使用google fonts webfont loader,如以下答案中所述:https://stackoverflow.com/a/21289510/356550