我正在使用@ font-face作为嵌入字体(感谢Paul Irish)。在尝试修复Chrome关于woff字体的错误MIME类型的警告时,我发现了大量相互矛盾的建议。
每个人似乎都同意.eot字体(对于IE 6-8?)应该使用
提供AddType application/vnd.ms-fontobject .eot
对于.ttf字体(较旧的非IE浏览器?)我见过
AddType application/x-font-ttf .ttf
AddType application/octet-stream .ttf
AddType font/truetype .ttf
AddType font/ttf .ttf
对于.woff字体(新标准?)我见过
AddType application/font-wof .woff
AddType application/x-font-woff .woff
AddType application/x-woff .woff
我理解woff的correct MIME type将是application / font-woff,但在标准正式之前,application/x-font-woff is understood by Chrome。
我意识到我已经半问了一下我的问题,但问题是:是否有关于字体应该使用什么MIME类型的权威指导或进一步的建议?
更新(如果它对任何其他人有任何帮助):因为似乎没有任何权威,我已经决定在我的.htaccess中使用以下字体MIME类型(这至少让Chrome保持开心):
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf .ttf
AddType application/x-font-woff .woff
答案 0 :(得分:71)
我意识到这个问题已经过时了,但对于那些希望快速复制/粘贴以便将字体MIME类型添加到其.htaccess中的人来说:
<IfModule mod_mime.c>
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-opentype .otf
AddType image/svg+xml .svg
AddType application/x-font-ttf .ttf
AddType application/font-woff .woff
AddType application/font-woff2 .woff2
</IfModule>
答案 1 :(得分:6)
我刚刚对IANA official list做了一些研究。这似乎是截至2013年5月的比赛现状:
这三个是官方的,由IANA分配:
这些并非官方/已分配,因此必须使用'x-'语法:
似乎'font'类型不存在,所以你看到'font / xxx'的任何时间类型都是假的。可能'x-font / xxx'是允许的,不确定。 IIS8附带了几个这样的条目。不确定MS是否认为这些'font / xxx'是兼容性所需,或者他们只是不读取RFC: - )
application / font-woff看起来很新,也许只是自2013年1月以来的正式版。所以“application / x-font-woff”在短期内可能更安全/更兼容。
答案 2 :(得分:4)
通常,MIME类型来自RFC。 您在IANA site上有详尽的列表,但没有一个是字体扩展名。 此外,document describing WOFF format是草稿,并不涉及要使用的mime类型。 目前似乎还没有关于这个问题的可靠参考。
W3C现已发布WOFF作为推荐,并在Appendix B中将MIME类型定义为application/font-woff
。它也被添加到您现在提到的IANA site中。 -GKFX
答案 3 :(得分:3)
我认为值得一提的是,自2013年3月起,IANA为.otf
和.ttf
扩展提供了application/font-sfnt的MIME类型。
有关官方MIME类型的完整和最新列表,请参阅我在Proper MIME type for fonts
上的回答答案 4 :(得分:0)
在2019年,您可以使用:
AddType font/otf .otf
AddType font/ttf .ttf
AddType font/woff .woff
AddType font/woff2 .woff2
AddType application/vnd.ms-fontobject .eot
答案 5 :(得分:0)
这是在 apache 中缓存所有字体类型的示例(在 Google Page Speed 上测试):
AddType application/font-sfnt otf ttf
AddType application/font-woff woff
AddType application/font-woff2 woff2
AddType application/vnd.ms-fontobject eot
ExpiresByType application/font-woff "access plus 1 month"
ExpiresByType application/font-woff2 "access plus 1 month"
ExpiresByType application/font-sfnt "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"