Fonts OTF字体的正确MIME类型

Fonts OTF字体的正确MIME类型,fonts,mime,opentype,Fonts,Mime,Opentype,在网上搜索时,我发现了大量关于字体的正确MIME类型的不同建议,但我还没有尝试任何可以消除Chrome警告的MIME类型,例如: svg as "image/svg+xml" (W3C: August 2011) ttf as "application/x-font-ttf" (IANA: March 2013) or "application/x-font-truetype" otf as "application/x-

在网上搜索时,我发现了大量关于字体的正确MIME类型的不同建议,但我还没有尝试任何可以消除Chrome警告的MIME类型,例如:

svg   as "image/svg+xml"                  (W3C: August 2011)
ttf   as "application/x-font-ttf"         (IANA: March 2013)
      or "application/x-font-truetype"
otf   as "application/x-font-opentype"    (IANA: March 2013)
woff  as "application/font-woff"          (IANA: January 2013)
woff2 as "application/font-woff2"         (W3C W./E.Draft: May 2014/March 2016)
eot   as "application/vnd.ms-fontobject"  (IANA: December 2005)
sfnt  as "application/font-sfnt"          (IANA: March 2013) 
解释为字体但使用MIME类型字体/otf传输的资源

字体是OTF

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

  • 字体/otf
  • 应用程序/字体otf
  • 应用程序/字体
  • 应用程序/otf
  • 应用程序/八位字节流
  • 应用程序/x-font-otf
  • 应用程序/x-font-TrueType(我知道它不是TrueType,但有一位消息来源引用了OTF)

尝试使用“font/opentype”。

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

font/opentype可能会使警告静音,但这并不意味着这样做是“正确的”

可以说,你最好编造一个,例如使用“application/x-opentype”,因为至少“application”是注册的内容类型,而“font”不是

更新:OTF仍然是一个问题,但WOFF在2013年1月成长为IANA MIME类型。


更新2:OTF在2013年3月成长为MIME类型。此类型也适用于.ttf

FWIW,关于在Debian Linux和OS X Leopard and Snow Leopard上测试的Apache 2.2虚拟主机和mod_mime:

如果您有VirtualHost配置,您将希望通过AddType指令添加类型,如下所示,至少在配置的底部,如下所示:

....
   AddType font/opentype .otf
   AddType font/ttf .ttf
</VirtualHost>
。。。。
AddType字体/opentype.otf
AddType字体/ttf.ttf
针对Chrome Unstable/Trunk和Safari WebKit每晚进行测试,消除了ttf和otf字体类型的mime八位字节流警告


注意:.htaccess在处理虚拟主机时无效。如果您正在为多个站点开发,您将使用VirtualHosting开发,并且每个配置都需要添加这些AddType。

也许这会对某些人有所帮助。我在IIS 7上看到了这一点。ttf已经是一种已知的mime类型。其配置为:

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

干杯,
Michael

在Apache和IIS服务器上,有许多字体格式可以设置MIME类型。以下是:

svg   as "image/svg+xml"                  (W3C: August 2011)
ttf   as "application/x-font-ttf"         (IANA: March 2013)
      or "application/x-font-truetype"
otf   as "application/x-font-opentype"    (IANA: March 2013)
woff  as "application/font-woff"          (IANA: January 2013)
woff2 as "application/font-woff2"         (W3C W./E.Draft: May 2014/March 2016)
eot   as "application/vnd.ms-fontobject"  (IANA: December 2005)
sfnt  as "application/font-sfnt"          (IANA: March 2013) 
根据维护多用途Internet邮件扩展(MIME类型)初始文档的Internet工程任务组的说法:。。。它具体地说:

他说:"我们预期,在较大的 支持的类型通常可以通过创建新的 这些初始类型的子类型。将来,更多顶级类型 只能由本标准的标准跟踪扩展来定义。 如果出于任何原因要使用另一个顶级类型,则必须 给出一个以“X-”开头的名称,以表示其非标准状态 并避免与未来的官方名称发生潜在冲突。”

事实上,随着时间的推移,随着标准的创建和接受,会添加更多的MIME类型,因此我们可以看到特定于供应商的MIME类型的示例,如vnd.ms-fontobject等

更新2013年8月16日:WOFF was和以最新版本获取此更新的浏览器将开始发出有关使用旧x-font-WOFF声明的服务器MIME类型的警告。由于警告只是烦人的,我建议立即切换到认可的MIME类型。在理想的情况下,警告会及时解决

更新日期:2015年2月26日:WOFF2现在与建议的mime类型一起出现在W3C编辑草稿中。它可能会在下一年(可能在2016年底之前)按照最新的进度时间表提交给IANA。以及SFNT,和的主干表引用中使用的可缩放/样条线容器字体格式已经并且可以根据个人需要添加到此列表中

2017年10月4日更新:我们可以通过大多数现代浏览器成功支持WOFF2格式,跟踪WOFF2格式的发展。此外,我们还可以遵循IETF的“字体”顶级媒体类型征求意见(RFC)以及最新的一组建议字体类型以供批准


对于那些希望在CSS中以适当顺序嵌入字体的人,请访问。但同样,我很幸运地得到了以下顺序:

@font-face {
    font-family: 'my-web-font';
    src: url('webfont.eot');
    src: url('webfont.eot?#iefix') format('embedded-opentype'),
         url('webfont.woff2') format('woff2'),
         url('webfont.woff') format('woff'),
         url('webfont.ttf') format('truetype'),
         url('webfont.svg#webfont') format('svg');
    font-weight: normal;
    font-style: normal;
}

对于Subversion自动属性,可以将其列为:

# Font formats
svg   = svn:mime-type=image/svg+xml
ttf   = svn:mime-type=application/x-font-ttf
otf   = svn:mime-type=application/x-font-opentype
woff  = svn:mime-type=application/font-woff
woff2 = svn:mime-type=application/font-woff2
eot   = svn:mime-type=application/vnd.ms-fontobject
sfnt  = svn:mime-type=application/font-sfnt

以下内容可用于电子书空间:


应用程序/vnd.ms-opentype


我可以想象网络也是如此。

应用程序/font woff for woff:

我刚刚做了一些研究。我相信这里给出的答案“font/xxx”是不正确的,因为MIME标准中没有“font”类型

根据RFCs和IANA,这似乎是截至2013年5月该剧的当前状态:

这三个是官方的,由IANA指定:

  • svg为“图像/svg+xml”
  • woff为“应用程序/字体woff”
  • eot为“应用程序/vnd.ms fontobject”
这些不是官方/指定的,因此必须使用“x-”语法:

  • ttf为“应用程序/x-font-ttf”
  • otf为“应用程序/x-font-opentype”
应用程序/font woff看起来是新的,可能是自2013年1月以来唯一的官方版本。因此,“应用程序/x-font-woff”在短期内可能更安全/更兼容。

以下是NGINX解决方案

文件

除去

application/octet-stream        eot;
多亏了迈克·富尔彻

自2017年2月起,将所有MIME字体类型归为顶级
font
媒体类型。我的原始帖子中较旧的MIME类型现在被列为已弃用

application/octet-stream        eot;
 "font/ttf"
 "font/opentype"
 "application/font-woff"
 "application/x-font-type1"
 "application/x-font-ttf"
 "application/x-truetype-font"
.eot  ->  application/vnd.ms-fontobject (as from December 2005)
.otf  ->  application/font-sfnt         (as from March 2013)
.svg  ->  image/svg+xml                 (as from August 2011)
.ttf  ->  application/font-sfnt         (as from March 2013)
.woff ->  application/font-woff         (as from January 2013)
collection  font/collection
otf     font/otf
sfnt    font/sfnt
ttf     font/ttf
woff    font/woff
woff2   font/woff2