我们的一种网络字体遇到了一个问题,经过搜索和搜索,我们找不到原因。
我们有一个使用 JSP 开发的 Web 应用程序,它使用以下 CSS 加载字体:
@font-face {
font-family: 'MyFont';
src: url('fonts/myfont-webfont.eot');
src: url('fonts/myfont-webfont.eot?#iefix') format('embedded-opentype'),
url('fonts/myfont-webfont.woff') format('woff'),
url('fonts/myfont-webfont.ttf') format('truetype'),
url('fonts/myfont-webfont.svg#MyFontRegular') format('svg');
font-weight: normal;
font-style: normal;
}
当我们必须使用这种字体时,我们用以下方式调用它:
.formlogin span.help-block a {
color: #93B1CC !important;
font-weight: normal;
padding-left: 95px;
font-size: 12px;
font-family: 'MyFont';
position: relative;;
margin-top: -20px;
}
到目前为止一切正常(在每个浏览器中都可以正常加载)。
现在,我们正在开发另一个具有相同界面的网站。因此,我们已将 CSS 和字体文件从原始文件复制到新项目中。现在,在这个新项目中,webfont 在 Chrome 中正确显示,但在 Firefox 和 IE9 中没有。
我们试图更改 about:config 中的 firefox 属性,但没有成功。
两个网站都使用同一台服务器,因此向服务器配置添加任何内容的解决方案并不能解决任何问题。
我们尝试将 url 更改为 /fonts/.. 和 /styles/fonts/... 和 styles/fonts/... 但它也没有工作。
在firebug中,在网络部分,字体的URL似乎正确加载,因为它没有得到404。同样在firebug中,webfont显示为灰色(说它没有使用它,这很明显在看网)。我们还尝试在调用 webfont 时添加一个 !important 子句,但仍然没有成功。
有什么帮助吗?谢谢!
更新
它必须与文件的路径相关。如果我直接使用文件的字节设置字体,如下所示:
@font-face {
font-family: "MyFont";
font-style: normal;
font-weight: 300;
src: url("data:font/opentype;base64,d09GRgABAAAAAFaoABEAAAAA....");
}
它工作得很好。现在,这不是一个解决方案,因为我应该根据浏览器更改文件,就像我在第一个字体配置中使用不同的 url 所做的那样。
有人知道原因吗?