首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Opera不能从webfonts渲染某些字符

Opera不能从webfonts渲染某些字符
EN

Stack Overflow用户
提问于 2012-03-19 22:06:28
回答 3查看 1.6K关注 0票数 0

也许它不应该这样做。但请耐心听我说。我使用Google Web字体,我将PT Sans字体包括在内,如下所示:

代码语言:javascript
复制
<link href="https://fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">

我甚至像这样设置了.htaccess:

代码语言:javascript
复制
<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只是跳过了它们,留下了一个空白。

我刚刚意识到它只对粗体字体起作用。检查此示例:

代码语言:javascript
复制
<!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>

现在我该如何修复它呢?

EN

回答 3

Stack Overflow用户

发布于 2012-03-19 22:12:50

在我看来没问题,我只是把你的示例代码放到了一个jsfiddle中。也许你的CSS/页面还有其他的问题?

http://jsfiddle.net/MetalFrog/gHhGv/

票数 0
EN

Stack Overflow用户

发布于 2012-03-20 01:12:23

由于PT Sans字体不包含波罗的海字符,因此浏览器将使用一些备用字体。在页面样式表中没有对此进行声明的情况下,它们将使用其默认方法,因此浏览器的差异是可以预期的。

目前还不清楚为什么Opera有时会在这里失败,但更重要的是提供一些有计划的后备。选择一种完全不同的字体,或者至少在字体列表中指定一些替代字体,例如font-family: 'PT Sans', Arial, sans-serif。这可以防止奇怪的混合,如PT Sans和Times New Roman (常见的默认字体),也可以很好地绕过Opera bug。

票数 0
EN

Stack Overflow用户

发布于 2012-11-21 05:06:06

我也遇到过同样的问题。

解决方案是:

  1. 谷歌网页字体页面|选择您的圆形字体|快速使用|验证您的设置...将Cyrilic set添加到selection.
  2. Clear Opera缓存;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9771629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档