为什么某些Google字体以斜体样式显示不正确

时间:2012-10-29 17:34:31

标签: css webfonts google-webfonts

我遇到了一些谷歌字体的奇怪问题。

例如,我使用的是Muli字体,在某些浏览器中,当CSS规则为:

时,文本以斜体显示
p {
    font-style: normal;
}

我还用几个浏览器打开了Google Web Fonts website(我在6台不同的PC和Mac上测试了16种不同的浏览器),只有其中两个我遇到了问题(一个在Chrome浏览器上,另一个在浏览器上)在Firefox浏览器上。)

This screenshot显示了Firefox中显示的字体与显示斜体字体的浏览器的并排比较

为什么只有某些浏览器会将这些字体显示为斜体?在追踪这个问题时我应该寻找什么?

1 个答案:

答案 0 :(得分:3)

Speculatory!如果您使用相同的浏览器和浏览器版本在2台不同的计算机上进行测试,那么您在字体上的差异可能来自操作系统。使用Googles API调用Firefox或Chrome时会使用 local 属性,如果可用,则调用操作系统的该字体版本。其中OS调用或给出的字体可以是斜体版本而不是普通版本。

我的建议是下载字体并自己手动导入,而不使用local属性。

导入Google字体API时,会发生以下情况:

例如,来自Firefox的Inconsolata请求会返回以下CSS:

@font-face {
  font-family: 'Inconsolata';
  src: local('Inconsolata'), url('http://themes.googleusercontent.com/fonts/font?kit=J_eeEGgHN8Gk3Eud0dz8jw') format('truetype');
}

另一方面,来自Internet Explorer的请求返回:

@font-face {
  font-family: 'Inconsolata';
  src: url('http://themes.googleusercontent.com/fonts/font?kit=J_eeEGgHN8Gk3Eud0dz8jw');
} 

https://developers.google.com/webfonts/docs/technical_considerations