什么是字体文件的正确MIME类型?

sma*_*man 5 fonts mime truetype mime-types iana

我找不到规范任何和/或每种类型文件格式的正确MIME类型的规范来源.我发现的所有来源似乎互相矛盾和/或IANA MIME类型RFC及其相关列表.

虽然我对.otf(OpenType)和.ttf(TrueType)文件类型特别感兴趣,但理想的答案是为确定广泛的字体文件格式的MIME类型提供规范资源,例如维基百科字体文件部分列出那些page:文件格式列表.但是,鉴于我找不到这样的资源,似乎完全有可能没有这样的规范参考.

我想进一步澄清我不是在寻找有效的MIME类型,而是寻找规范的MIME类型.所选答案 正确的MIME类型的字体规定,font/opentype可用于.otf文件.但是,由于@djsadinoff解释的最高投票答案font不是有效的IANA内容类型,并且这不是正确的 MIME类型.

Viv*_*gon 7

对于您的问题,您可能不知道有关字体类型的事实.使用此链接字体MIME类型.

roc 报告Web字体之争,其中短版本是非IE浏览器是否应该支持字体的DRM格式.(也许他们是否可以开箱即用地支持TrueType和OpenType.)我真的认为我们不应该支持字体的DRM格式.它似乎会在网络上树立一个不好的先例,如果他们不执行正确的事情,可能会让供应商承担责任,并使作者的事情变得复杂.

W3C 为EOT工作组制定了章程草案 ; EOT(Embedded OpenType)是微软倡导的DRM格式.我不知道EOT如何引领网络发挥其全部潜力,但我们会看到它的结果.

除格式问题外,可能值得考虑引入字体的MIME类型.(如果此时实现为时已晚,可能为时已晚.)好处是任意文件(例如,text/html文件)不会被解释为字体.缺点是它会让作者稍微努力,因为他们必须确保他们正确地标记它.(在Web图像(SVG除外)和JavaScript上没有检查资源是否具有正确的MIME类型.对于图像,浏览器会嗅探图像签名,并且只是执行从脚本元素加载的内容(确实不太好) .)

鉴于支持@ font-face将很快在Opera,Safari和Firefox中发布,这需要尽快决定.可能在通过IETF标准化相关MIME类型之前.另一个复杂因素是OpenType和TrueType可以携带otf和ttf作为扩展,操作系统处理它很好.虽然两个MIME类型都可以使用,但就像XHTML和SVG都可以使用text/xml一样.


Ant*_*ica 5

字体文件缺乏特定的媒体类型导致了smartcaveman上面描述的混乱、不断变化和矛盾的混乱。早在 2012 年,这个问题就无法得到真正的回答,因为除了 IANA 列表之外,不存在这样的规范参考。值得庆幸的是,这种情况已经得到纠正 \xe2\x80\xa6

\n

今年(2017 年)2 月,W3C 发布了标准轨道 RFC 8081:“字体”顶级媒体类型,大大简化了字体文件的相应媒体类型:

\n
\n

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

\n
\n

它\xe2\x80\x99s 是一个相当可读的文档,它描述了历史背景(缺乏\xe2\x80\x9ca 字体\xe2\x80\x9d 格式的注册),这导致了媒体类型和子媒体类型的混乱混合。 -类型。随着最近(相对)可下载网络字体的流行,W3C 认识到需要\xe2\x80\x9cintuitive 顶级字体类型\xe2\x80\x9d。他们想出的是:font

\n

因此,IANA 此后更新了其官方媒体类型列表,其中包括font媒体类型及其目前认可的所有子类型:

\n
collection  font/collection\notf     font/otf\nsfnt    font/sfnt\nttf     font/ttf\nwoff    font/woff\nwoff2   font/woff2\n
Run Code Online (Sandbox Code Playgroud)\n