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

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

字体是OTF。

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

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


当前回答

忽略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

其他回答

Application /font-woff for woff: http://www.iana.org/assignments/media-types/application/font-woff

一种方法来沉默这个警告从Chrome将更新Chrome,然后确保你的mime类型是其中之一:

 "font/ttf"
 "font/opentype"
 "application/font-woff"
 "application/x-font-type1"
 "application/x-font-ttf"
 "application/x-truetype-font"

这个列表是在webkit.org的Bug 111418中找到的补丁。

同样的补丁将该信息从“警告”降级为“日志”,所以只要将Chrome升级到2013年3月的任何版本就可以摆脱黄色三角形。

既然这个问题是关于关闭Chrome警告的,而人们可能出于各种原因仍在使用旧的Chrome版本,我认为这一点值得补充。

也许这能帮到别人。我在iis7上看到。ttf已经是一个已知的mime类型。它被配置为:

application/octet-stream

所以我只是添加了所有的CSS字体类型(。oet, .svg, .ttf, .woff)和IIS开始为它们提供服务。Chrome开发工具也不会抱怨重新解释类型。

欢呼, 迈克尔

尝试使用“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)床单。