在网上搜索,我发现了一堆不同的建议,什么正确的MIME类型的字体是,但我还没有尝试任何MIME类型,使我摆脱Chrome警告,如以下:

资源解释为字体,但使用MIME类型font/otf传输

字体是OTF。

到目前为止,我已经尝试了以下MIME类型

字体/传递 应用程序/ font-otf 应用程序/字体 应用程序/传递 应用程序/八进制 应用程序/ x-font-otf application/x-font-TrueType(我知道这不是truetype,但有一个来源引用了OTF)


当前回答

尝试使用“font/opentype”。

其他回答

自2017年2月起,RFC 8081将字体的所有MIME类型分组在顶级字体媒体类型下。我最初发布的旧MIME类型现在被列为已弃用。

IANA列出的字体类型现在是:

.otf ->字体 .sfnt ->字体/sfnt .ttf ->字体 .woff ->字体/woff woff2 ->字体

其他非标准字体格式保留如下:

.eot -> application/vnd。ms-fontobject(从2005年12月开始) .svg -> image/svg+xml(从2011年8月开始)


[过时的原帖]

由于网络上仍然有很多关于web字体的MIME类型的困惑,我想我应该给出一个当前的答案,包括有效日期,并支持IANA和W3C的链接。

以下是Web字体的官方MIME类型:

.eot -> application/vnd。ms-fontobject(从2005年12月开始) .otf -> application/font-sfnt(从2013年3月开始) .svg -> image/svg+xml(从2011年8月开始) .ttf -> application/font-sfnt(从2013年3月开始) .woff -> application/font-woff(从2013年1月开始) .woff2 ->字体/woff2(由W3C于2016年3月提出)

请注意,W3C在WOFF v2提案中支持将上述所有内容更改为字体/XXX的MIME类型。这是由互联网工程任务组(IETF)在字体顶级类型下跟踪的,并在2017年2月被批准为RFC状态(参见RFC 8081),所以它可能会全部改变!

谈到web服务器,值得一提的是,HTTP响应可能会gzip(或以其他方式压缩)上述所有字体格式,除了.woff和.woff2,它们已经被严重压缩了。

我说更多的MIME类型为Web字体(Fantom)床单。

我刚在IANA官方名单上做了些调查。我相信这里给出的答案'font/xxx'是不正确的,因为在MIME标准中没有'font'类型。

根据rfc和IANA,这似乎是截至2013年5月的游戏现状:

这三个是IANA官方指定的:

svg as " svg+xml" 像“应用程序/打字”一样工作 我们称之为“应用程序/vnd.m -fontobject”

这些不是正式的/赋值,所以必须使用'x-'语法:

TTF为"application/x-font-ttf" Otf为"application/x-font-opentype"

application/font-woff似乎是新的,可能是2013年1月才正式发布的。所以“application/x-font-woff”可能在短期内更安全/更兼容。

尝试使用“font/opentype”。

NGINX溶液

file

/usr/local/nginx/conf/mime.types

add

font/ttf                      ttf;
font/opentype                 otf;
application/font-woff         woff2;
application/font-woff         woff;
application/vnd.ms-fontobject eot;

删除

application/octet-stream        eot;

Ref

http://drawingablank.me/blog/font-mime-types-in-nginx.html

忽略chrome警告。OTF字体没有标准的MIME类型。

Font /opentype可能会消除警告,但这并不意味着它是“正确”的做法。

可以说,你最好自己编一个,比如“application/x-opentype”,因为至少“application”是一种注册的内容类型,而“font”不是。

更新:OTF仍然是一个问题,但WOFF在2013年1月增加了IANA MIME类型的应用程序/font-woff。

更新2:OTF在2013年3月增加了一个MIME类型:application/font-sfnt。这种类型也适用于.ttf