【问题标题】:Font characters not showing in Firefox and IE9Firefox 和 IE9 中不显示字体字符
【发布时间】:2012-07-16 07:47:28
【问题描述】:

我使用 Inkscape 为一组图标制作了自定义字体,并使用免费在线字体转换器和 Font Squirrel 生成不同的字体类型(woff、eot、ttf、svg)和 @font-face 代码以供包含。

该字体在带有 ttf、svg 和 woff-font 的 Google Chrome 以及 Internet Explorer 7 和 8 中运行良好,但在 FireFox 13 和 IE9 中某些图标无法呈现。字体的其他图标确实可以正常工作,因此文件交付没有问题。也因为字体在 Chrome 中工作,转换似乎成功了。

我认为问题与我正在使用的图标的类型或形状有关,但我找不到任何可以将这两个图标与我使用的其他图标区分开来的特别之处。

这个问题可以在我的 ASP.NET 项目中重现,也可以使用 Font Squirrel 提供的测试文件在本地重现。

更新: 仍然没有找到解决方案,但我发现当在 Windows 中安装相同的 TTF 字体时,它在 Firefox 中确实有效。但是当它通过@font-face 引用时,它不会。

【问题讨论】:

    标签: firefox fonts internet-explorer-9 font-face inkscape


    【解决方案1】:

    猜测这与您的字体或字体的 CSS 不是从同一个域调用的事实有关。 Firefox 和 IE9 都强制执行同域来源限制。因此,请勿在链接标签或 CSS 字体代码中使用域。

    【讨论】:

    • 我的@font-face 代码正是字体松鼠生成的,并且只引用了与css 位于同一目录中的字体文件。为了清楚起见:字体本身被加载,只有几个字符丢失。这些字符也没有出现在字体松鼠的示例文件中。
    • 好吧,我没有仔细阅读这个。道歉。听起来确实很奇怪,但我想知道这些图标是否真的存在于网络字体中。请务必使用“专家”模式并关闭“子集”。我们的“最佳”设置子集仅为 MacRoman 字符集。
    • 我解决了这个问题,但我不完全确定是什么把戏。我第一次使用原始源文件关闭子集时它不起作用,但是当我删除并将图标重新添加到源文件时它确实起作用了。也许 Inkscape 以不同的方式保存它,或者与关闭子集的组合解决了它。无论如何,谢谢你的帮助:)
    猜你喜欢
    • 2011-07-22
    • 2013-12-23
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 2015-12-26
    • 2014-12-08
    • 2011-09-12
    • 2012-04-16
    相关资源
    最近更新 更多