@font-face Safari 字体 mime 类型警告

Posted

技术标签:

【中文标题】@font-face Safari 字体 mime 类型警告【英文标题】:@font-face Safari font mime type warning 【发布时间】:2012-03-04 20:51:34 【问题描述】:

我有一个简单的 html/css 布局,通过 @font-face 使用自定义字体:

@font-face 
    font-family: 'Gotham-Medium';
    src: url('../Font/Gotham-Medium.eot');
    src: url('../Font/Gotham-Medium.eot?#iefix') format('embedded-opentype'),
         url('../Font/Gotham-Medium.ttf') format('truetype'),
         url('../Font/Gotham-Medium.svg#Gotham-Medium') format('svg');
    font-weight: normal;
    font-style: normal;

包括 IE6 在内的所有浏览器都能正确加载字体 - 但我在 Safari (5.0.4) 中收到警告。

资源被解释为字体但使用 MIME 类型传输 应用程序/八位字节流。

有趣的事实是,在 Windows/Safari 上字体显示正常(.ttf 文件)但显示警告,但在 Mac/Safari 上,字体显示为透明/不可见 - 根本不显示任何文本(.ttf 字体文件确实加载 + 警告消息也会出现在控制台中)。

有什么想法吗?

【问题讨论】:

你用过松鼠字体吗? fontsquirrel.com @Blowski - 是的,我做到了。 font-face 语法应该是正确的 - 我只是删除了 woff 格式,因为我不需要支持它,而且 Safari 也不使用它。 也许这会有所帮助:***.com/questions/2871655/proper-mime-type-for-fonts 如果您要嵌入 Gotham,您将违反 H&FJ 的许可,因为目前没有人有权嵌入他们的字体。 【参考方案1】:

当您的浏览器向网络服务器询问字体文件时,网络服务器会回复标题信息和文件内容。并且似乎网络服务器提供了具有 mime 类型应用程序/八位字节流的 .ttf 文件。浏览器可以期待一些特殊的字体 mime 类型,比如 application/x-font-ttf 您可以在 apache 配置中使用 AddType application/x-font-ttf .ttf 来指定 mime 类型。

顺便说一句,你的@font-face 中有 2 个 src 部分。可能您应该将它们组合成一个,用逗号分隔每个来源。

【讨论】:

font-face 声明没问题,因为它是由 fontsquirel 生成器生成的——我不怀疑这是导致问题的原因。将尝试使用 mime 类型

以上是关于@font-face Safari 字体 mime 类型警告的主要内容,如果未能解决你的问题,请参考以下文章

font-face+chrome+django:如何避免消息“资源解释为字体但使用 MIME 类型应用程序/八位字节流传输。”

@font-face 使用过程

对 2 种字体使用 @font-face 会导致速度大幅下降

@font-face - 如何让它在所有浏览器上工作

@font-face的一些细节

Chrome 中 @font-face 的可怕渲染