【问题标题】:japanese characters show as boxes in chrome due to text-rendering: optimizelegibility;由于文本渲染,日文字符在 chrome 中显示为框:优化易读性;
【发布时间】:2012-11-05 19:24:30
【问题描述】:

在我的网站中,我使用的是 Font-Awesome 库。它在标题标签上应用 css 属性 text-rendering: optimizelegibility;。当 laguage 是日语时,这会破坏我的网站。

正如您在DEMO 中所见,使用此属性时会显示框。我不太明白这个属性是做什么的,那么将它覆盖为 auto 是否安全?

注意:此属性在 Firefox 中运行良好,但在 google chrome 中出现问题。

感谢您的帮助:)

编辑:这个问题是window-XP特有的

我还在 chrome 网站上打开了一个问题:http://code.google.com/p/chromium/issues/detail?id=159391

【问题讨论】:

  • 在我的 chrome 中工作 imgur.com/9Afyv
  • @swapnesh 你用的是哪个版本,我的用户代理是"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4"
  • 我的 chrome 版本- 22.0.1229.94
  • 你的系统有什么问题??我认为它现在需要升级;)
  • 我看到你的是window vista或7,我的是XP,如果这是XP的bug,我也需要修复它,因为我们需要支持它

标签: html google-chrome css internationalization text-rendering


【解决方案1】:

Font Awesome 使用字体技巧,该技巧基于使用包含标志性图像的字体以特殊字体代替普通字符。这种诡计最有效,因为特殊字体作为可下载字体提供了有关字符支持的错误信息。但我不明白 Font Awesome 与这个问题有什么关系。我在 Font Awesome 包中的 CSS 文件中看不到任何与标题相关的 CSS 代码。如果您的标题元素具有与 Font Awesome 中使用的属性一致的 class 属性,它可能会间接影响标题。在这种情况下,请在此处更改类名。

那里也没有text-rendering 设置。我怀疑该设置来自其他来源。

在任何情况下,都可以安全地删除text-rendering 属性设置(或设置为auto,初始值)。它具有排版性质,已知和有些记录的效果与字距调整和连字有关,无论如何这可能不适用于日语写作。它可能还有其他影响,而且它的规范非常模糊。在某些情况下,Chrome 可能会尝试使用在(某些版本的)Windows XP 中失败的渲染技术。

在虚拟 Windows XP 中测试您的演示,这可能对应于旧的开箱即用 XP,根本不显示日文字符。似乎没有字体包含它们。不同的XP安装可能添加了字体,比如MS Office自带的Arial Unicode MS,然后问题就变了。

【讨论】:

  • 对不起,我错误地提到了 Font-Awesome,它实际上是在引导程序中:github.com/twitter/bootstrap/blob/master/less/type.less#L62
  • @ankur 你能解决这个问题吗,即使我在 windows xp 上的 Chrome 中也面临同样的问题。
  • @noobcode 用任何其他值 developer.mozilla.org/en-US/docs/CSS/text-rendering 覆盖 css,它应该可以工作
  • @ankur :我的 CSS 上没有设置文本渲染属性。你建议我在我的CSS中声明这个吗?我注意到的另一件事是任何其他日本网站(例如 yahoo.co.jp)都不能在 windows xp 上的 chrome 上运行?有什么建议吗?
  • @noobcode 由于某些库定义的文本渲染属性(我不记得名称),我遇到了问题。所以我推翻了它。你提到的网站正在我的谷歌浏览器窗口 xp 上运行。
猜你喜欢
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-07
  • 2023-03-26
  • 2016-05-02
  • 1970-01-01
  • 2022-01-06
相关资源
最近更新 更多