首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使Adobe字体与IE9中的CSS3 @font-face兼容

使Adobe字体与IE9中的CSS3 @font-face兼容
EN

Stack Overflow用户
提问于 2011-04-08 05:35:28
回答 19查看 101.5K关注 0票数 134

我正在构建一个小的intranet应用程序,并尝试使用我最近购买的Adobe字体,但没有成功。据我所知,在我们的案例中,这不是违反许可证的行为。

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

代码语言:javascript
复制
@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中我得到:

代码语言:javascript
复制
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文件,但我不知道它是否重要……

有没有办法解决这个问题?

编辑-我在IIS7.5下托管我的网站(字体也有,但静态内容在单独的目录和子域下

EN

回答 19

Stack Overflow用户

回答已采纳

发布于 2011-04-10 15:41:07

我只能解释如何修复"CSS3114“错误。

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

使用适当的tool,您可以将其设置为允许安装嵌入。

对于64位版本,请查看@user22600的answer

票数 98
EN

Stack Overflow用户

发布于 2015-04-12 00:54:41

正如Knu所说,你可以使用this tool,但是它只为MS-DOS编译。我为Win64编译的。Download

用法:

fontname在命令行中键入modify

  • Navigate,将.exe替换为文件名,字体类型的扩展名为modify
  1. Navigate!,将.exe放在您需要完成该目录的字体所在的文件夹中。您的字体现在应该可以使用了。
票数 39
EN

Stack Overflow用户

发布于 2012-03-27 16:27:21

您应该将ie字体的格式设置为“embedded-opentype”,而不是“eot”。例如:

代码语言:javascript
复制
src: url('fontname.eot?#iefix') format('embedded-opentype')
票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5587956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档