我需要在html文件中包含一个字体(OpenSymbol),而该字体文件位于本地文件夹中(我知道它的确切绝对路径)。如果我像这样使用@font-face:
@font-face {
font-family: "OpenSymbol";
src: url("<absolutePath>/OpenSymbol.ttf") format("truetype");
}它适用于Chrome、Opera和Safari浏览器,但不适用于火狐和IE9。其他@font-face用法在所有浏览器中都工作得很好。
顺便说一句,在Chrome中,我得到了一个警告:
Resource interpreted as Font but transferred with MIME type application/octet-stream如何才能干净地包含本地存储的字体,该字体是操作系统上未安装的字体( not installed )?
编辑:
我发现列出不同的urls似乎不起作用!如果我把[...].ttf url放在第一位,Chrome就会加载字体,但如果它在其他地方就不会了!
第二版:
我让它在除了firefox之外的所有浏览器上都能工作:
@font-face {
font-family: 'OpenSymbol';
src: url('file:<path>/openSymbol.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'OpenSymbolEOT';
src: url('file:<path>/openSymbol.eot') format('embedded-opentype');
font-weight: normal;
font-style: normal;
}
...然后
.element {
font-family: OpenType, OpenTypeEOT, [...];
}无论如何,它可以在IE中工作,但不能在使用IE渲染引擎的eclipse中工作。o.O
顺便说一句,火狐有问题是因为安全问题:See here
https://stackoverflow.com/questions/11812111
复制相似问题