297

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

目前我在 nginx 配置中有这个块用于字体:

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 类型是什么?

4

4 回答 4

468

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

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

更新:mime 类型可能会根据最新的 W3C Editor's Draft WOFF2 规范发生变化。请参阅附录 A:Internet 媒体类型注册6.5 节。WOFF 2.0规定了最新提议的格式是font/woff2

于 2015-03-10T02:45:45.143 回答
219

font/woff2

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

font/woff2 woff2;


旧答案

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

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

NB WOFF2 仍处于“工作草案”状态——尚未正式采用。

于 2015-01-31T13:00:42.067 回答
40

阿帕奇

在 Apache 中,您可以通过此链接所述的文件添加woff2mime 类型。.htaccess

AddType  application/font-woff2  .woff2

IIS

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

<configuration>
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
于 2015-07-01T02:48:40.937 回答
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

于 2015-04-27T06:39:31.347 回答