在现有代码中,我在 Internet Explorer 中对 .EOT 嵌入式字体进行了 CSS @font-face 声明,这些字体实际上可以完美运行。所以现在我读到 Firefox 现在也在 3.5 中嵌入,除了它直接嵌入 .ttf 字体。所以我修改了 firefox 的 @font-face 声明并试了一下:
@font-face {
font-family: FontX;
src: url("FontX.eot"); //previous decl.
src: local("FontX"), url("FontX.ttf") format("truetype");
}
它有效 - 但几乎没有完美无瑕。
首先,斜体和粗体不会出现在页面上,尽管它们以前使用 .EOT 字体出现过。
其次,更令人不安的是以下行为:
Firefox 在显示嵌入的 ttf 字体之前会闪烁默认字体半秒!
这看起来真的很蠢。
至于第二个问题,我希望可以解决的原因是,使用Cufon嵌入字体时,存在完全相同的问题。但是,它们提供了您在结束标记之前调用的 Cufon.now() JS 函数</body>
,这为它们解决了问题。应该已经看过该函数的 JS 代码,但在这方面几乎不是专家。
同样的默认字体闪烁也不存在于 IE 或 Safari 中。