所有Windows浏览器都存在@ font-face问题

时间:2011-06-27 14:47:18

标签: css windows font-face

修改 谢谢大家!问题似乎得到解决;我认为它与字体的路径有关,并为浏览器提供足够的替代字体类型来访问。我终于使用fontsquirrel.com和Paul Irish的@ font-face的防弹语法来运行一切。 :)


我正在尝试在我的网站上使用@ font-face,它在我的所有Mac浏览器(Firefox,Safari,Chrome)上都能正常运行。但我发现没有一个Windows浏览器显示字体。

这不是浏览器版本问题:即使使用FF5.0和Chrome 12.x也无法使用。

这不是服务器端问题:我通过上传到两个不同的服务器来测试它,并且两者都显示相同的行为。

这不是Windows版本问题:我在WinXP和Win7上测试过它。

这不是一个小问题“新字体看起来如何”问题:字体没有显示出来。

另外,奇怪的部分是:我尝试使用Wine在我的Mac上安装Windows Firefox4,然后运行它,它工作正常!但是在实际Windows上运行的相同Firefox 4将不会使用这些字体。这是否意味着发生的任何事情都是由OS检测触发的?

关于这里可能发生什么的任何想法?


修改:我使用以下内容:

@font-face {
     font-family:"Name", src:url("./fonts/FontName.ttf") format("truetype"); 
} 

并尝试过语法的变体,例如:

@font-face {
     font-family:Name, src:url(fonts/FontName.ttf) format("truetype"); 
}

上述两种语法都在Mac上正确呈现,但在Windows上无法呈现。

2 个答案:

答案 0 :(得分:1)

我想知道你的src url是否会窒息。

将此src:url("./fonts/FontName.ttf")更改为此src:url("../fonts/FontName.ttf")(添加另一个句点)。

或者您可以在没有句点的情况下尝试:src:url("/fonts/FontName.ttf")

或者将其放在CSS文件夹中并完全删除路径。

您也可以尝试单引号'而不是"

答案 1 :(得分:1)

这不是正确的语法:

@font-face {
     font-family:"Name", src:url("./fonts/FontName.ttf") format("truetype"); 
}

使用分号而不是逗号,如下所示:

@font-face {
     font-family: "Name";
     src: url("./fonts/FontName.ttf") format("truetype"); 
}

但您可以考虑使用Paul Irish的Bulletproof @ font-face语法:http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/