首页 文章

适合字体的MIME类型

提问于
浏览
230

在网上搜索,我找到了大量关于字体的正确MIME类型的不同建议,但我还没有尝试任何可以解决Chrome警告的MIME类型,如下所示:

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

字体是OTF .

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

  • font / otf

  • application / font-otf

  • application / font

  • application / otf

  • application / octet-stream

  • application / x-font-otf

  • application / x-font-TrueType(我知道它不是truetype,但有一个消息来源引用了OTF)

14 回答

  • 1

    尝试使用“font / opentype” .

  • 4

    在Apache和IIS服务器上,可以使用多种字体格式设置MIME类型 . I've traditionally had luck具有以下内容:

    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类型)的初始文档:http://tools.ietf.org/html/rfc2045#section-5 ...它具体说明:

    “通常可以通过创建这些初始类型的新子类型来实现对更大的受支持类型集的添加 . 将来,更多顶级类型可能仅通过标准轨道扩展来定义如果由于任何原因要使用另一种顶级类型,则必须给它一个以“X-”开头的名称,以表明其非标准状态,并避免与未来的官方名称发生潜在冲突 . “

    随着时间的推移,随着时间的推移,在创建和接受标准时会添加其他MIME类型,因此我们会看到供应商特定MIME类型的示例,例如vnd.ms-fontobject等 .

    UPDATE August 16, 2013: WOFF是formally registered at IANA on January 3, 2013Webkit has been updated on March 5, 2013,在最新版本中获取此更新的浏览器将开始使用旧的x-font-woff声明发出有关服务器MIME类型的警告 . 由于警告只是令人讨厌,我建议立即切换到批准的MIME类型 . 在理想的世界中,警告会及时解决 .

    UPDATE February 26, 2015: WOFF2现在位于W3C编辑器的草案中,提出了mime-type . 它可能会在最近的进度时间表之后在明年(可能在2016年底)提交给IANA . 还有SFNT,Google Web Fonts with their sfntly java library的骨干表引用中使用的可伸缩/样条容器字体格式已经registered as a mime type with IANA,可以根据个人需要添加到此列表中 .

    UPDATE October 4, 2017: 我们可以跟随WOFF2格式here的进展,大多数现代浏览器都成功支持该格式 . 同样,我们可以遵循IETF的"font"顶级媒体类型评论请求(RFC)trackerdocument,关于最新提议的字体类型以供批准 .


    对于那些希望在CSS中以正确的顺序嵌入字体的人,请访问this article . 但是,我再次对以下顺序感到满意:

    @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
    
  • 63

    忽略铬警告 . OTF字体没有标准的MIME类型 .

    font / opentype可能会使警告静音,但这并不能使其成为“正确”的事情 .

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

    Update: OTF remains a problem, but WOFF grew an IANA MIME type of application/font-woff in January 2013.

    Update 2: OTF has grown a MIME type: application/font-sfnt In March 2013. This type also applies to .ttf

  • 6

    因为's still a lot of confusion on the web about MIME types for web fonts, I thought I'给出了当前答案,完成了有效日期,以及支持IANA和W3C的链接 .

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

    请注意,有一个将上述所有内容更改为 font/XXX 的MIME类型的动作,由W3C在其WOFF v2提案中提供支持 . 这是由互联网工程任务组(IETF)在The font Top Level Type下跟踪的,并且在2017年2月被批准为RFC状态(见RFC 8081)所以它可能都会改变!

    关于Web服务器的主题,值得一提的是HTTP响应可以 gzip (或以其他方式压缩)除了 .woff.woff2 之外的所有上述字体格式,这些格式已经被大量压缩 .

    我在MIME Types for Web Fonts with (Fantom) BedSheet说了更多 .

  • 122

    作为其中一个的具体实例在计算中,有趣的是看到这个问题的答案在最初发布以来是如何改变的 . 值得庆幸的是,这些权力给混乱带来了秩序:


    在今年2月(2017年),W3C发布了标准轨道RFC 8081: The "font" Top-Level Media Type,它大大简化了字体文件的相应媒体类型:

    此备忘录用于注册和记录“字体”顶级媒体类型,在该类型下可以注册字体表示格式的子类型 . 该文件还用作一组预期子类型的注册申请,这些子类型代表已经使用的一些现有子类型,并且当前通过其单独的注册在“申请”树下注册 .

    它是一个非常易读的文档,它描述了历史背景(缺少“字体格式的注册”),这引起了媒体类型和子类型的混乱混合 . 随着(相对)近期可下载网络字体的普及,W3C认识到需要“直观的顶级字体类型” . 他们想出的是...... font .

    因此,IANA已将official list of Media types更新为 font 媒体类型及其当前识别的所有子类型:

    collection  font/collection
    otf     font/otf
    sfnt    font/sfnt
    ttf     font/ttf
    woff    font/woff
    woff2   font/woff2
    

    这里希望这是这个问题需要的最后答案 .

  • 5

    关于在Debian Linux和OS X Leopard和Snow Leopard上测试的Apache 2.2 VirtualHosting和mod_mime的FWIW:

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

    ....
       AddType font/opentype .otf
       AddType font/ttf .ttf
    </VirtualHost>
    

    针对Chrome Unstable / Trunk和Safari WebKit Nightly进行了测试,消除了ttf和otf字体类型的mime八位字节流警告 .

    注意:.htaccess在处理VirtualHosting时没有效果 . 如果您正在为多个站点开发,那么您将使用VirtualHosting开发,并且每个配置都需要添加这些AddType .

  • 0

    我刚刚对IANA official list做了一些研究 . 我相信这里给出的答案'font/xxx'是不正确的,因为MIME标准中没有'font'类型 .

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

    这三个是官方的,由IANA分配:

    • svg as "image/svg+xml"

    • woff as "application/font-woff"

    • eot as "application/vnd.ms-fontobject"

    这些不是官方/分配的,因此必须使用'x-'语法:

    • ttf as "application/x-font-ttf"

    • otf as "application/x-font-opentype"

    application / font-woff看起来是新的,也许只是2013年1月以来的官方版本 . 所以“application / x-font-woff”在短期内可能更安全/更兼容 .

  • 1

    这是NGINX解决方案

    文件

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

    font/ttf                      ttf;
    font/opentype                 otf;
    application/font-woff         woff2;
    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

  • 126

    自2013年3月起IANA.ORG recommends为.otf:
    application/font-sfnt

    其他字体:

    .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)
    

    more...

  • 1

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

    application/vnd.ms-opentype

    我会想象网络是一样的 .

  • 5

    适用于woff的application / font-woff:http://www.iana.org/assignments/media-types/application/font-woff

  • -1

    截至2017年2月,RFC 8081添加了字体/ *媒体类型,这些类型也列在IANA Media Types列表中 . font/otf 在此列表中 .

  • 190

    也许这会对某人有所帮助 . 我在IIS 7上看到 .ttf 已经是一个已知的mime类型 . 它被配置为:

    application/octet-stream
    

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

    干杯,迈克尔

  • 3

    阻止来自Chrome的此警告的一种方法是更新Chrome,然后确保您的mime类型是以下之一:

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

    此列表是根据Bug 111418 at webkit.org找到的补丁 .

    同一个补丁将消息从“警告”降级为“日志”,因此只需将Chrome升级到2013年3月发布的任何版本,就可以摆脱黄色三角形 .

    由于问题是关于静音Chrome警告,并且由于某些原因,人们可能会坚持使用旧的Chrome版本,因此我认为这值得添加 .

相关问题