.woff2字体的正确MIME类型


279

今天,我将Font Awesome软件包更新为4.3.0,并注意到添加了woff2字体。该文件在CSS中链接,因此我需要配置nginx才能正确提供woff2文件。

目前,我在nginx config中有此字体块:

location ~* \.(otf|eot|woff|ttf)$ {
    types     {font/opentype otf;}
    types     {application/vnd.ms-fontobject eot;}
    types     {font/truetype ttf;}
    types     {application/font-woff woff;}
}

woff2字体正确的mime类型是什么?


1
以下是在Apache中缓存woff2文件的方法:<IfModule mod_mime.c> AddType font/woff2 woff2<IfModule mod_expires.c> ExpiresActive On ExpiresByType font/woff2 "access plus 1 month"。(省略了标签和换行符。)
Chloe

Answers:


437

在IIS中,可以通过将以下内容添加到项目的web.config中来声明WOFF2字体文件的mime类型:

<system.webServer>
  <staticContent>
    <remove fileExtension=".woff2" />
    <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
  </staticContent>
</system.webServer>

更新:根据最新的W3C编辑器的Draft WOFF2规范,mime类型可能正在更改。请参阅附录A:“ Internet媒体类型注册”6.5WOFF 2.0指出了最新提议的格式是font/woff2


6
现在IIS 10中的MIME类型支持.woff2。使用IIS 10,您无需在web.config中进行任何更改。
凯文

7
什么用途的<remove>标签服务吗?IIS参考(iis.net/configreference)中似乎没有记录该文件
Pathogen

18
@Pathogen如果mimeMap已经存在,则IIS有时会引发错误。在添加它之前将其删除可修复该错误。
艾伦

214

font/woff2

对于nginx,将以下内容添加到mime.types文件中:

font/woff2 woff2;


旧答案

WOFF2字体的mime类型(有时称为mimetype)已被提议application/font-woff2

另外,如果您参考规范(http://dev.w3.org/webfonts/WOFF2/spec/),将会看到font/woff2正在讨论中。我怀疑所有字体的孝顺mime类型最终将变得更加合乎逻辑font/*font/ttffont/woff2等)...

NB WOFF2仍处于“工作草案”状态-尚未正式通过。


38
已更新。规格非常清楚。类型是字体,子类型是woff2,这使得它是font / woff2。这也是Google字体本身的用途。
Raivo Laanemets

我仍然看不到任何确定的规范。尽管他们确实谈论要引入font/*顶级类型。我认为出于充分信息的考虑,我将其添加到答案中。
atwright147

@ atwright147的MIME类型覆盖在附录A,Woff2是附录A的第6.5节
理查德

3
2016年3月更新:现在是候选推荐,并且font / woff2是mimetype w3.org/TR/WOFF2/#IMT
Chris F Carroll

36

阿帕奇

在Apache中,您可以按照此link所述通过文件添加woff2mime类型。.htaccess

AddType  application/font-woff2  .woff2

IIS

在IIS中,只需将以下mimeMap标签添加到标签web.config内的文件中即可staticContent

<configuration>
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />

怎么样application/x-font-woff2
Nerdroid

1
嘿@Moes :)绝对application/x-font-woff2是woff2非常新时的旧类型。在W3C规范,现在建议使用application/font-woff2,因为这是得到广泛支持。如果您追求向后兼容性,请随时添加x-font-woff2
Fizzix

在IIS中,请小心删除以前定义的扩展条目,以防它们在服务器中的其他位置定义。如果遇到它,这将给您带来非常混乱的错误!<remove fileExtension=".woff2" />然后按上述定义:)
jocull

请注意,建议的且也是最有可能被接受的是font / woff2
Syakur Ra​​hman

1
现在,建议将WOFF文件格式2.0W3C建议用作MIME类型,但IANA官方媒体类型列表(尚未)还包括WOFF2。font/woff2
Anthony Geoghegan

17

http://dev.w3.org/webfonts/WOFF2/spec/#IMT

看来W3C切换到了 font/woff2

我看到有人在讨论适当的mime类型。在链接中,我们读到:

本文档定义了顶级 MIME类型“字体” ...

...正式定义的IANA子类型,例如“ application / font-woff” ...

W3C WebFonts WG的成员认为使用“应用程序”顶级类型并不理想。

然后

6.5. WOFF 2.0

    Type name:

        font
    Subtype name:

        woff2

因此,W3C的主张与IANA有所不同。

我们可以看到它也与woff类型不同:http : //dev.w3.org/webfonts/WOFF/spec/#IMT ,其中我们读到:

Type name:

    application
Subtype name:

    font-woff

这是

application/font-woff

http://www.w3.org/TR/WOFF/#appendix-b


1
我在该页面上没有看到任何建议更改它的内容,font/woff2您可以校准吗?
atwright147

也许我误会了。我的意思是附录A,'6.5。WOFF 2.0'
fantastory

1
无法想象这是被否决的。规格非常清楚。类型是字体,子类型是woff2,这使得它是font / woff2。这也是Google字体本身的用途。
Raivo Laanemets 2015年

2
我最初对此表示赞同,但认为可以从中获得一篇博客文章。从目前的情况来看,该帖子符合WOFF2规范,但仍是工作草案,尚未移至“ 建议状态”。这意味着woff2从技术上讲不会有哑剧,因为font/woff2除非获得批准,否则它是无效的,但是规范文档已撤消了不让application/font-woff2我们拥有任何官方哑剧的认可。因此,我认为在这一点上我将要使用application/font-woff2
rtpHarry

2
@rtpHarry我之前曾对此答案和您的评论都表示赞同。截至2017年2月,W3C发布了Standards Track RFC 8081,成为font/woff2官方媒体类型。见stackoverflow.com/a/43321601/1640661
Anthony Geoghegan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.