在IE9中如何使Adobe字体与CSS3 @ font-face一起使用?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (162)

我正在构建一个小型Intranet应用程序,并试使用最近购买的Adobe字体。据我所知,在我们的情况下,这不是一个许可证违规。

我将.ttf / .otf版本的字体转换为.woff,.eot和.svg,以便定位所有主流浏览器。我使用的@ font-face语法基本上是来自Font Spring的防弹工具:

@font-face {
    font-family: 'MyFontFamily';
    src: url('myfont-webfont.eot');
    src: url('myfont-webfont.eot?#iehack') format('eot'), 
         url('myfont-webfont.woff') format('woff'), 
         url('myfont-webfont.ttf')  format('truetype'),
         url('myfont-webfont.svg#svgFontName') format('svg');
    }

我修改了HTTP头文件(添加了Access-Control-Allow-Origin =“*”)以允许跨域引用。在FF和Chrome中,它完美的工作,但在IE9中,我得到:

CSS3111: @font-face encountered unknown error.  
myfont-webfont.woff
CSS3114: @font-face failed OpenType embedding permission check. Permission must be Installable. 
myfont-webfont.ttf

我注意到,当从.ttf / .otf字体转换为.woff我也得到一个.afm文件,但我不知道是否重要或不重要...

任何想法如何解决?

[编辑] - 我在IIS 7.5下托管我的网站(也是字体,但在静态内容的单独目录和子域下)

提问于
用户回答回答于

我只能解释如何修复“CSS 3114”错误。

你必须更改TTF文件的嵌入级别。

使用适当的工具你可以把它设置为允许安装嵌入...

用户回答回答于

你应该将ie字体的格式设置为“Embedded-OpenType”,而不是“EOT”。例如:

src: url('fontname.eot?#iefix') format('embedded-opentype')

所属标签

可能回答问题的人

  • HKC

    红客学院 · 创始人 (已认证)

    26 粉丝7 提问5 回答
  • Dingda

    Dingda · 站长 (已认证)

    4 粉丝0 提问3 回答
  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问3 回答
  • 螃蟹居

    1 粉丝0 提问2 回答

扫码关注云+社区

领取腾讯云代金券