WOFF字体的Mime类型?

Nic*_*rns 548 embedded-fonts woff

什么mime类型应该作为WOFF字体?

我服务truetype(ttf)字体as font/truetype和opentype(otf)as font/opentype,但我找不到WOFF字体的正确格式.

我曾尝试font/woff,font/webopenfont/webopentype,但Chrome仍然会抱怨:

"资源被解释为字体,但使用MIME类型application/octet-stream进行传输."

有人知道吗?

Mar*_*cel 729

2017年6月22日Keith Shaw的评论更新:

截至2017年2月,RFC8081是建议的标准.它定义了字体的顶级媒体类型,因此WOFF和WOFF2的标准媒体类型如下:

font/woff

font/woff2


2011年1月,宣布 Chromium将承认

application/x-font-woff

作为WOFF的哑剧型.我知道这个变化现在已经在Chrome测试版中,如果还没有稳定,那么它应该不会太远.

  • 如果您使用application/font-woff,Chrome版本24.0.1312.52似乎仍然回复"资源解释为字体但已转移...".似乎现在仍然需要使用"application/x-font-woff". (9认同)
  • 从Chromium 18.0,2012/08/30开始,需要使用application/x-font-woff (8认同)
  • 正如cc年轻人所说,为了摆脱Chrome警告"资源解释为字体但使用MIME类型application/font-woff传输",您需要使用"application/x-font-woff" (6认同)
  • 那个新的`.woff2`怎么样? (5认同)
  • 根据以下Webkit提交,将删除`font/woff`和`application/x-font-woff`以支持`application/font-woff`.此外,警告已降级为日志消息.http://trac.webkit.org/changeset/144763/trunk/Source/WebCore/inspector/front-end/NetworkManager.js (4认同)
  • 马塞尔的答案不再是正确答案了.Keith Shaw的回答/sf/answers/3129619461/是现在正确的(自2017年2月起). (3认同)

小智 135

对我来说,下一个是在.htaccess文件中工作.

AddType font/ttf .ttf
AddType font/eot .eot
AddType font/otf .otf
AddType font/woff .woff
AddType font/woff2 .woff2   
Run Code Online (Sandbox Code Playgroud)

  • 从Chrome 18开始,停止工作.现在application/x-font-woff似乎有效. (6认同)
  • 在IIS Express中,您可以在configuration/system.webServer/staticContent下添加一个**mimeMap**元素到web.config:`<mimeMap fileExtension =".woff"mimeType ="font/woff"/>` (5认同)
  • 在提出这个问题时'font/woff'没有*工作.任何人都可以确认它现在吗? (4认同)
  • 为了记录,谷歌字体使用`font/woff`和`font/woff2`. (3认同)
  • 我不敢相信更多人没有发现这有用.这是唯一一个对我有用的人. (2认同)

jfl*_*mme 55

它会application/font-woff.

http://www.w3.org/TR/WOFF/#appendix-b(W3C候选人推荐2011年8月4日)

http://www.w3.org/2002/06/registering-mediatype.html

来自Mozilla css字体笔记

在Gecko中,Web字体受到相同的域限制(字体文件必须与使用它们的页面位于同一域中),除非使用HTTP访问控制来放宽此限制.注意:由于TrueType,OpenType和WOFF字体没有定义的MIME类型,因此不考虑指定文件的MIME类型.

来源:https://developer.mozilla.org/en/CSS/@font-face#Notes

  • 但正如Marcel所指出的那样,Chromium将根据RFC 2048识别application/x-font-woff,直到接受application/font-woff. (3认同)
  • WOFF规范现在是一个建议,不会改变application/font-woff http://www.w3.org/TR/WOFF/#appendix-b (2认同)

Jer*_*eir 25

将字体mime类型添加到.NET/IIS的参考

通过web.config

<system.webServer>
  <staticContent>
     <!-- remove first in case they are defined in IIS already, which would cause a runtime error -->
     <remove fileExtension=".woff" />
     <remove fileExtension=".woff2" />
     <mimeMap fileExtension=".woff" mimeType="font/woff" />
     <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
  </staticContent>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

通过IIS管理器

将woff mime类型添加到IIS的屏幕截图


BG *_*uno 22

NGINX解决方案

文件

/etc/nginx/mime.types
Run Code Online (Sandbox Code Playgroud)

要么

/usr/local/nginx/conf/mime.types
Run Code Online (Sandbox Code Playgroud)

font/ttf                      ttf;
font/opentype                 otf;
font/woff                     woff;
font/woff2                    woff2;
application/vnd.ms-fontobject eot;
Run Code Online (Sandbox Code Playgroud)

去掉

application/octet-stream        eot;
Run Code Online (Sandbox Code Playgroud)

参考

RFC @ 02.2017

https://tools.ietf.org/html/rfc8081#page-15

https://www.iana.org/assignments/media-types/media-types.xhtml

感谢Mike Fulcher

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


Kei*_*haw 18

截至2017年2月,RFC8081是建议的标准.它定义了字体的顶级媒体类型,因此WOFF和WOFF2的标准媒体类型如下:

font/woff
font/woff2
Run Code Online (Sandbox Code Playgroud)


小智 10

没有fontMIME类型!因此,font/xxx总是错的.


Ste*_*wie 6

对我这样做的事情是将它添加到我的mime_types.rb初始化器:

Rack::Mime::MIME_TYPES['.woff'] = 'font/woff'
Run Code Online (Sandbox Code Playgroud)

清除缓存

rake tmp:cache:clear
Run Code Online (Sandbox Code Playgroud)

在重新启动服务器之前.

资料来源:https://github.com/sstephenson/sprockets/issues/366#issuecomment-9085509


Nic*_*321 5

将以下内容添加到您的.htaccess中

AddType font/woff woff
Run Code Online (Sandbox Code Playgroud)

祝好运