【问题标题】:Firefox screws up ů in smallcaps?Firefox 在小型股中搞砸了?
【发布时间】:2012-03-16 01:25:16
【问题描述】:

我正在使用以下 HTML/CSS 行:

<span style="font-variant:small-caps;">o blahov&#367;li.</span>

HTML 实体&amp;#367; 代表捷克字母 ů。 Internet Explorer 和 Chrome 都正确处理了这一行。但是 Firefox 砍掉了角色小环的顶部。见这里:http://i.imgur.com/ri29o.png

据我所知,Firefox 只会在这个字符上犯这种错误,而且只有当这个字符是小写字母时。

我做错了吗?其他人可以验证这是否正在发生吗?


发现问题的环境:Windows 7 Home Premium、Firefox 10.0.2、Times New Roman。 看起来其他字体在 Firefox 中也不错,但 Times New Roman 搞砸了。

【问题讨论】:

  • 你的line-height不够大吗?
  • @animuson:不,不是这样。对我来说,无论行高如何,问题都会出现。
  • 它在 Firefox 10 中为 does not do this for me
  • @animuson:嗯。您的链接确实为我做,我正在运行 10.0.2。
  • 这并不像“Firefox 总是搞砸了”那么简单。对我来说,Mac OS X 10.7.3 上的 Firefox 10.0.2 显示字母 U+016F LATIN SMALL LETTER U WITH ABOVE ABOVE,很好,在此处(...)和问题中。因此,您将不得不更加仔细地描述您的问题环境。它可能部分取决于平台(Windows、Linux、Unix、Mac OS X,...)。这很可能取决于您机器上安装的字体。你检查过字体没有损坏吗?

标签: html css firefox unicode smallcaps


【解决方案1】:

解决方法 1:不要使用 Times New Roman。无论如何,它在屏幕上并不是特别好的字体。

解决方法 2:将 u 替换为带有字母 u 的环,然后再组合上面的环,例如将 ů 替换为 u&amp;#x30a;。出于某种奇怪的原因,这修复了我的 Firefox 上的错误。警告:此修复可能会导致其他浏览器或其他字体出现许多问题。

在我的系统上,带有环 (Ů) 的大写 U 也出现了问题。这是可以理解的,因为在大多数情况下,CSS“小型大写字母”只是缩小尺寸的大写字母。这就是为什么它们不是一个好主意的原因之一。

该错误的确切性质仍然是个谜。这可能与 Firefox 读取和使用字体信息的方式有关:就好像它获得了有关 Times New Roman 中 Ů 字形尺寸的错误数据。

【讨论】:

  • 感谢您的信息。您似乎在说 CSS smallcaps 是个坏主意。但是我还能如何在浏览器上用小型大写字母表示文本呢?有什么替代品吗?
  • @97847658,问题不在于 CSS,而在于大多数字体缺少小型大写字体。这迫使浏览器(和文字处理器等)使用算法创建的虚假小型大写字母。如果您可以找到具有所需字体的合适字体,则可以通过使用嵌入字体来避免这种情况。请注意,例如在 Linux Libertine 字体中,小型大写字母是使用 Private Use 位置实现的——当然不可移植。
【解决方案2】:

确保您声明了这一点

<meta http-equiv="content-type" content="text/html;charset=utf-8" />

【讨论】:

  • 编码不会影响 html 实体的呈现方式。
猜你喜欢
  • 2020-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-06
  • 1970-01-01
相关资源
最近更新 更多