我需要在 html 文件中包含字体(OpenSymbol),并且字体文件位于本地文件夹中(我知道它的确切绝对路径)。如果我像这样使用@font-face:
@font-face {
font-family: "OpenSymbol";
src: url("<absolutePath>/OpenSymbol.ttf") format("truetype");
}
它适用于 Chrome、Opera 和 Safari,但不适用于 Firefox 和 IE9。其他 @font-face 用法在所有浏览器中都可以正常工作。
顺便说一句,在 Chrome 中,我收到一条警告:
Resource interpreted as Font but transferred with MIME type application/octet-stream
我该怎么做才能干净地包含未安装在操作系统上的本地存储字体?
编辑:
我发现不同网址的列表似乎不起作用!如果我将[...].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 中工作...... oO
顺便说一句,firefox 由于安全问题而出现问题:请参阅此处