今天我将字体真棒包更新到 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/ttf
、font/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