11

我正在使用来自 Google Fonts 的 Ubuntu 字体:

<link href='http://fonts.googleapis.com/css?family=Ubuntu:300,400,300italic,400italic,500,500italic,700,700italic' rel='stylesheet' type='text/css' />

我的样式表:

body {
    font-family: 'ubuntu',arial;
}

它可以工作,但如果安装同名字体(Ubuntu),它会覆盖来自 Google Fonts 的字体。

是否可以强制浏览器使用 Google Fonts 中的字体?

4

1 回答 1

12

答案不在于您的代码,而在于 Google 的代码。

这是您请求的 CSS 的一部分:

@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: bold;
  src: local('Ubuntu Bold'), local('Ubuntu-Bold'), url('http://themes.googleusercontent.com/static/fonts/ubuntu/v4/0ihfXUL2emPh0ROJezvraLO3LdcAZYWl9Si6vvxL-qU.woff') format('woff');
}

这里的关键行是local('Ubuntu Bold'),它要求尽可能加载本地文件。最简单的解决办法就是复制所有谷歌的CSS,粘贴到自己的CSS中,修改这个local名字为,比如local('Ubuntu Bold NonExisting Name or Something Else'). 此类字体不存在且不会替换 CSS 加载的字体。

PS我自己没有测试过。如果0ihfXUL2emPh0ROJezvraLO3LdcAZYWl9Si6vvxL-qU.woffURL 即将过期,那么您将处于困境中。如果优先考虑防止本地覆盖,请尝试查看字体的许可证并考虑自己托管字体。

于 2012-02-23T19:59:51.157 回答