我一直没能找到一个规范的来源,指示正确的MIME类型,任何和/或每种类型的文件格式。 所有这一切我已经找到了来源似乎相互矛盾和/或IANA MIME类型的RFC及其关联列表 。
虽然我特别感兴趣的.otf
(的OpenType)和.ttf
(TrueType字体)的文件类型 ,理想的答案将用于确定所述MIME类型的字体文件格式,如那些上列出的广谱提供一个规范资源的字体文件维基百科页面的部分: 文件格式清单 。 然而,考虑到我找不到这样的资源,似乎完全有可能没有这样的标准基准存在。
我想进一步澄清,我不是在找工作的MIME类型 ,但对于规范的MIME类型 。 所选择的答案正确的MIME类型的字体指出font/opentype
可用于.otf
的文件。 然而,作为最高的投票答案(由@djsadinoff)解释说, font
是不是有效的IANA内容类型,这不可能是正确的MIME类型。
对于你的问题,你可能不知道的字体类型的事实。 使用此链接字体MIME类型 。
ROC 上的Web字体报告战里面的短版是非IE浏览器是否支持字体的DRM格式。 (也许还是否能支持TrueType和OpenType开箱。)我真的不认为我们应该支持DRM格式的字体。 看起来这将设置一个恶劣的先例在网络上,可能使供应商承担责任,如果他们不执行正确的事情,而对于作者问题复杂化。
W3C已经创造了一个EOT工作组章程草案 ; EOT(嵌入式OpenType字体)作为DRM格式微软提倡。 我不知道EOT是如何引领网络,以充分发挥其潜力,但我们将看看会发生什么吧。
除了格式问题,它可能是值得考虑引进一个MIME类型的字体。 (如果这是在这一点上来不及实现中,可能为时已晚。)的好处是,任意文件(比如说,一个text / html的文件)将不会被解释为字体。 缺点是,它使事情作家稍微硬一点的,因为他们必须确保他们正确地贴上标签。 (在Web图像(除了SVG)和JavaScript不检查,以资源是否具有正确的MIME类型。对于图像浏览器嗅探简单地执行一个脚本元素加载的图像签名和东西(不太好,确实) 。)
鉴于支持@字体面将soonish在Opera,Safari浏览器,火狐和运输这将需要很快决定。 在这之前相关的MIME类型通过IETF标准化。 另一个难题是,OpenType和TrueType字体可以运载OTF和TTF为延伸和与它优良的操作系统交易。 有一个单一的MIME类型都可以大概的工作,虽然,就像XHTML和SVG可以都使用文本/ XML。
你的答案是规范 。
4.5.1。 八位字节流子类型
的“八位字节流”子类型用于指示一个主体包含任意的二进制数据。
另外,同一文件第4页
(5) application -- some other kind of data, typically either uninterpreted binary data or information to be processed by an application. The subtype "octet- stream" is to be used in the case of uninterpreted binary data, in which case the simplest recommended action
我仍然不知道,如果这个文件是二进制数据,所以我检查使用Linux的文件()命令的MIME类型。
$ file --mime-type
Days-webfont.ttf: application/octet-stream
你去那里它是一个八位字节流非常明确的!
我仍然有一些怀疑,虽然,所以我想一些更多的资源。 浏览器将如何解读? 下面是Mozilla有说...
注意:由于目前还没有定义MIME类型的TrueType,OpenType和网络开放文件格式(WOFF)字体,指定的文件的MIME类型不考虑。
有趣的Mozilla说, 没有定义MIME类型的.ttf杂项文件或.woff。
Mozilla还具有一定的资源来帮助您
确定正确的MIME类型内容的
如何确定正确的MIME类型为您的内容
还有,你可以采取以确定正确的MIME类型值用于您的内容几个步骤。
如果您的内容是使用供应商的软件应用程序创建,读取供应商的>文档,看看有什么MIME类型应为不同的媒体类型进行报告。
看在IANA | MIME媒体类型的注册表里面包含了所有注册的MIME类型。
如果使用插件在Netscape壁虎显示的媒体类型,安装插件和>然后查看帮助 - >关于插件菜单,看看有什么MIME类型与>媒体类型相关联。
搜索FILExt或文件扩展名的文件扩展名参考,看看有什么MIME>类型与该扩展名关联。
我不建议你去FILExt页面或文件扩展名参考他们没有做任何文件()在bash不能做。
通过文档搜索,我发现aplication的各种亚型, 几乎适合该法案; vnd.ms-fontobject,但这只是对.eot
文件,字体tdpfr,但这只是对.pfr
文件。
所以会出现规格不指定
我相信。 所以我想您的规范资源将文件的输出比较()什么是规格。
由于意见状态之一:
一个更好的mime类型将是“应用程序/ x-字体的OpenType”或“应用程序/八位字节流”。 第一个基本上是“未注册的MIME类型与这个名字”,第二只“二进制数字”
因为第一次是非官方的类型接受的MIME类型的格式,第二个是一个通用的MIME类型的二进制数据没有更具体的正式的MIME类型要么这些在技术上是正确的 。 我对验证这种说法RFC2046 ,它似乎托起。 直到有成为正式,最正确的方法是使用一个公认的格式非官方类型,或使用泛型类型。
在这个时间点,OpenType和TrueType字体似乎没有任何特别是“正确”的MIME类型。
在Web开放字体格式-其可以被用作用于两-然而的包装,具有application/font-woff
(由注册W3C )。 嵌入式OpenType格式-A的紧凑型OpenType字体,使用application/vnd.ms-fontobject
(由Microsoft注册)。
如果你想回去到时,您可以使用application/font-tdpfr
为TrueDoc便携字体资源。 这是原生的Netscape Navigator 4☺支持
缺少字体文件的特定媒体类型的导致混淆的,不断变化和矛盾的混乱,smartcaveman上面描述。 早在2012年,这个问题真的不能回答,因为不是IANA列表中的其他,没有这样的标准基准确实存在。 值得庆幸的是,这种情况已被纠正...
今年二月(2017年),W3C发布的标准跟踪 RFC 8081:“字体”顶级媒体类型 ,大大简化了适当的介质类型字体文件:
本备忘录用来登记和记录“字体”顶级媒体类型,其下为亚型表示格式的字体可以被注册。 该文件也可作为一组预期的亚型,其中有代表性的一些现有的亚型已经在使用,以及它们各自的注册下的“应用程序”树目前已注册的注册申请。
这是一个相当可读的文件,它描述的历史背景(缺“为字体的格式登记”的),这引起了媒体类型和子类型的混乱组合。 随着(相对)近期上涨的下载网页字体普及,W3C认识到需要一种“直观的顶级字体类型”。 他们想出了是: font
。
因此,IANA已经因为更新了自己的官方媒体类型列表与font
的媒体类型及其所有子类,他们目前认识到:
collection font/collection
otf font/otf
sfnt font/sfnt
ttf font/ttf
woff font/woff
woff2 font/woff2