MIMEtypes的WOFF字体?

什么MIMEtypes应该作为WOFF字体?

我正在提供truetype(ttf)字体作为font/truetype和opentype(otf)作为font/opentype opentype,但我无法find正确的格式为WOFF字体。

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

“资源解释为字体,但用MIMEtypes应用程序/八位字节stream传输”。

有人知道吗?

Keith Shaw在2017年6月22日发表的评论 :

截至2017年2月, RFC8081是提议的标准。 它为字体定义了顶级媒体types,因此WOFF和WOFF2的标准媒体types如下:

font/woff

font/woff2


在2011年1月,有消息称Chromium将会承认

application/x-font-woff

作为WOFF的哑剧式。 我知道这个变化现在已经在Chrome beta版本中,如果不是稳定的话,它应该不会太远。

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

 AddType font/ttf .ttf AddType font/eot .eot AddType font/otf .otf AddType font/woff .woff 

这将是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 font-face笔记

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

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

NGINX解决scheme

文件

 /etc/nginx/mime.types 

要么

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

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

去掉

 application/octet-stream eot; 

参考

感谢Mike Fulcher

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

将字体MIMEtypes添加到.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="application/font-woff" /> <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" /> </staticContent> </system.webServer> 

通过IISpipe理器

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

没有font MIMEtypes! 因此, font/xxx始终是错误的。

@尼科

目前没有为woff字体MIMEtypes定义的标准。 我使用字体传递cdn服务,它使用font / woff,我在chrome中得到相同的警告。

参考: 互联网号码分配机构

这对我来说是把这个添加到我的mime_types.rb初始值设定项中:

 Rack::Mime::MIME_TYPES['.woff'] = 'application/x-font-woff' 

清除caching

 rake tmp:cache:clear 

在重新启动服务器之前。

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

截至2017年2月, RFC8081是提议的标准。 它为字体定义了顶级媒体types,因此WOFF和WOFF2的标准媒体types如下:

 font/woff font/woff2 

WOFF:

  1. Web打开字体格式
  2. 它可以用TrueType或PostScript(CFF)轮廓进行编译
  3. 它目前由FireFox 3.6+支持

尝试添加:

 AddType application/vnd.ms-fontobject .eot AddType application/octet-stream .otf .ttf 

也许这会帮助别人。 我看到在IIS 7上.ttf已经是一个已知的MIMEtypes。 它被configuration为:

 application/octet-stream 

所以我只是补充说,所有的CSS字体types( .oet.svg.ttf.woff )和IIS都开始为它们服务。 Chrome开发工具也不会抱怨重新解释types。

干杯,迈克尔

将以下内容添加到.htaccess中

 AddType application/x-font-woff woff 

祝你好运

IIS自动定义.ttf作为应用程序/八位字节stream似乎工作正常和fontshopbuild议.woff被定义为application / octet-stream

我刚才也遇到了同样的问题,这是对我有用的解决scheme:

 font/opentype 

我有同样的问题, 字体/ opentype为我工作

MIMEtypes可能不是你唯一的问题。 如果字体文件托pipe在S3或其他域上,则可能还存在Firefox不会加载来自不同域的字体的问题。 对于Apache来说这是一个简单的修复,但是在Nginx中,我已经读过,你可能需要用base-64编码你的字体文件,并将它们直接embedded到你的字体CSS文件中。

对于所有解决schemeindex.php删除表单url和woff文件允许。 在.htaccess文件中写下面的代码,然后把这个文件交给你的application / config / config.php文件:$ config ['index_page'] ='';

仅适用于Linux托pipe服务器。 .htaccess文件的详细信息

 AddType font/ttf .ttf AddType font/eot .eot AddType font/otf .otf AddType font/woff .woff <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / #Removes access to the system folder by users. #Additionally this will allow you to create a System.php controller, #previously this would not have been possible. #'system' can be replaced if you have renamed your system folder. RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$ /index.php?/$1 [L] #When your application folder isn't in the system folder #This snippet prevents user access to the application folder #Submitted by: Fabdrol #Rename 'application' to your applications folder name. RewriteCond %{REQUEST_URI} ^application.* RewriteRule ^(.*)$ /index.php?/$1 [L] #Checks to see if the user is attempting to access a valid file, #such as an image or css document, if this isn't true it sends the #request to index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [L] </IfModule> <IfModule !mod_rewrite.c> # If we don't have mod_rewrite installed, all 404's # can be sent to index.php, and everything works as normal. # Submitted by: ElliotHaughin ErrorDocument 404 /index.php </IfModule>