我有时会遇到字体损坏,如下图所示,当在CSS中使用Open Sans(来自Google字体)时(从http://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700批发):
已损坏:http://i.stack.imgur.com/JmqJL.png
未损坏:http://i.stack.imgur.com/2sWUB.png
请注意,某些文本会正常呈现,而同一标记的其他文本(如第二行)会出现乱码。它似乎不是一个字距调整问题,因为呈现的符号完全不同。
我注意到每个小写字符(以及一些大写字母)向前移动一个? (例如h
变为i
,但字母间距为h
,导致丑陋的“字距调整”)我认为这可能是因为使用正斜杠(/
) ,但我也在没有斜线的行中复制了这个问题,但是什么可能导致这个奇怪的问题呢?
问题通常可以通过刷新多次来解决(Ctrl-F5或普通F5都没有产生任何明显的差异,也没有通过Dev Tools禁用缓存),但偶尔会回来时没有可辨别的模式。
为了澄清,我没有在我的计算机上本地安装字体,因此从Google的服务器请求woff2文件。无论浏览器是请求新文件(HTTP 200)还是从缓存(HTTP 304)请求,都可以复制损坏和未损坏的文本。
在使用其他Google字体(Lato)之前,我也遇到过这个问题,我当时并没有注意到这一点。
我不确定此问题是否是浏览器问题(我使用的是Google Chrome 43.0.2357.125)或字体本身存在问题?是否还有其他人也面临这个问题?
答案 0 :(得分:0)
我之前见过这个,但从未想过谷歌的原因。可能是。
为什么不从您自己的服务器上提供服务,而不是从googles服务器请求所有文件?
只需下载.woff2
和.woff
文件,并将其包含在您的CSS中。