我正在构建一个小型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');
}
Run Code Online (Sandbox Code Playgroud)
我修改了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
Run Code Online (Sandbox Code Playgroud)
我注意到,当将字体从.ttf/.otf转换为.woff时,我也得到一个.afm文件,但我不知道它是否重要...
任何想法如何解决?
[编辑] - 我在IIS 7.5下托管我的网站(字体,但在单独的目录和静态内容的子域下)
我试图在IE 10中使用OTF,但它无法正常工作.我确认TTF在IE 10中运行良好.
我已经尝试通过几种服务(例如fontssquirrel)将OTF转换为EOT但是失败了.也许是因为我的字体不适合英语.
顺便说一句,我发现文章说" (1)IE10为Webfonts解锁CSS OpenType功能 ".它不表示"IE从版本10开始支持OTF吗?".
但是,当我用谷歌搜索时,很多人说"(2)所有版本的IE不支持OTF ".
我无法理解这两句(1)和(2)之间的区别.