.woff2 字体的正确 MIME 类型



今天我将字体真棒包更新到 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 类型是什么?

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

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

更新:MIME 类型可能会根据最新的 W3C 编辑器草案 WOFF2 规范而更改。请参阅附录 A:互联网媒体类型注册第 6.5 节。WOFF 2.0 声明最新提议的格式是font/woff2

font/woff2

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

font/woff2 woff2;


旧答案

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

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

注意:WOFF2仍处于"工作草案"状态 - 尚未正式通过。

Apache

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

AddType  application/font-woff2  .woff2

二世

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

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

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

似乎w3c将其切换到font/woff2

我看到有一些关于正确的哑剧类型的讨论。在链接中,我们读到:

本文档定义了一个顶级 MIME 类型"字体"...

。官方定义的 IANA 子类型,例如"应用程序/字体-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

相关内容

最新更新