2012-08-26 37 views
8

我与使用google-webfonts有一个非常不好的冲突。 OK这里是代码:Google Webfont与本地字体冲突

这是头:

<link href='http://fonts.googleapis.com/css?family=Oswald:700' rel='stylesheet' type='text/css'> 

而且这是在CSS文件:

body { 
font-family: 'Oswald', sans-serif; 
font-weight: 700; } 

奥斯瓦尔德” 是一个FONT-FAMILY 3字体:

  • book(300)
  • 正常(400)
  • 大胆(700)

正如你所看到的..我已经加载只有粗体字(700)。 (你可以看到它在查询) 它工作到这里,但是...

的问题是:

我已经安装在计算机上的3种字体(300400700)的桌面版本,只要这些字体被激活......浏览器在我的html文档中显示错误的字体重量(400)。

好的。问题是,在我的CSS'奥斯瓦尔德'采取localfont而不是webfont。但是当地字体“Oswald”是“Oswald normal”。我不知道为什么谷歌称之为'奥斯瓦德'而不是'奥斯瓦尔德大胆'。所以我不知道如何解决这个问题。

我不希望CSS指向本地字体..我希望它始终显示webfont ...因为正确的字体重量!

你有什么想法吗? 请问?

可能重命名webfont-call?

回答

11

您可以编辑CSS @font-face规则以满足您的需求,而不是只加载Google自动生成的规则。基本上问题是他们的规则更喜欢本地版本(src: local('Oswald Bold'), local('Oswald-Bold'), ...)。修正verison会是什么样子:

@font-face { 
    font-family: 'WebOswald'; 
    font-style: normal; 
    font-weight: 700; 
    src: url(https://themes.googleusercontent.com/static/fonts/oswald/v5/bH7276GfdCjMjApa_dkG6T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff'); 
} 

只需手动添加到您的CSS,并使用font-family: 'WebOswald';当你要使用的字体的谷歌的Web版本。

我希望有帮助!

+0

这是一个很好的。我也想到了这一点,但问题是你的代码只加载.woff文件。另一件事是,当我在查询字符串上使用“&text =”参数时,我加载了整个字体,而不仅仅是我需要的字符。所以我需要一个技巧或黑客,它不采取本地字体。 –

+0

@JohnDoeSmith你的意思是你希望能够使用'&text ='参数,但仍然忽略本地字体? – Chris

+0

是的。而已。但我想出了一个能为我工作的解决方案。总之你的答案是正确的。所以你会得到√... thx;) –