也许它不应该这样做。但请耐心听我说。我使用Google Web字体,我将PT Sans字体包括在内,如下所示:
<link href="https://fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">我甚至像这样设置了.htaccess:
<IfModule mod_headers.c>
<FilesMatch "\.woff$">
Header set Content-Type "application/octet-stream"
</FilesMatch>
<FilesMatch "\.ttf$">
Header set Content-Type application/octet-stream
</FilesMatch>
</IfModule>现在PT Sans字体不包括我正在使用的波罗的海(ąčęėįšųūž)字符。但是Chrome、Firefox、IE都能完美地渲染它们--甚至不用另外一种字体。Opera只是跳过了它们,留下了一个空白。
我刚刚意识到它只对粗体字体起作用。检查此示例:
<!doctype html>
<html lang="en" class="no-js">
<head>
<title>Font test</title>
<meta charset="UTF-8">
<link href="https://fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">
</head>
<body style="font-family:'PT Sans';">
aceeisuuz<br />
ąčęėįšųūž
<p style="font-weight:bold">ąčęėįšųūž</p>
</body>
</html>现在我该如何修复它呢?
发布于 2012-03-19 22:12:50
在我看来没问题,我只是把你的示例代码放到了一个jsfiddle中。也许你的CSS/页面还有其他的问题?
http://jsfiddle.net/MetalFrog/gHhGv/

发布于 2012-03-20 01:12:23
由于PT Sans字体不包含波罗的海字符,因此浏览器将使用一些备用字体。在页面样式表中没有对此进行声明的情况下,它们将使用其默认方法,因此浏览器的差异是可以预期的。
目前还不清楚为什么Opera有时会在这里失败,但更重要的是提供一些有计划的后备。选择一种完全不同的字体,或者至少在字体列表中指定一些替代字体,例如font-family: 'PT Sans', Arial, sans-serif。这可以防止奇怪的混合,如PT Sans和Times New Roman (常见的默认字体),也可以很好地绕过Opera bug。
发布于 2012-11-21 05:06:06
我也遇到过同样的问题。
解决方案是:
https://stackoverflow.com/questions/9771629
复制相似问题