微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html – 在firefox和IE中使用带有utf8的webfonts的特殊字符问题

我有一个问题,使用UTF-8编码和字体’Lato’和’Open Sans’.

使用safari和chrome是没有问题但是当我在Windows或Mac或IE上的Firefox时,问题可以在这里看到:

Lato和Open Sans是Google的网页字体 – Helvetica是一种本地字体.

browserstack上也测试了它 – 同样的问题.

那么我该如何解决这个问题呢?

Website with the issue

最佳答案
原因是你有一个以分解形式表示的字母“ü”,因为“u”后跟一个组合的分音符,例如在

用“ü”U 00FC LATIN小写字母U替换“ü”(U 0075 LATIN SMALL LETTER U U 0308 COMBINING DIAERESIS)和DIAERESIS.它们可能看起来完全相同,但它们可能不会 – 在这种情况下,它们不会,因为Lato不包含U 0308,因此浏览器从Arial或其他字体中选择它,导致排版灾难.

如果您使用W3C HTML5 validator检查页面,您将收到一些警告“文本运行不在Unicode规范化表单C中.”其中至少有一个以分解形式引用“ä”(在“lädt”中,显示错误也),它也应该修复.

当您以预组合形式使用Unicode中存在的字符的分解形式时,例如“ä”和“ü”,文本不在标准化表格C(NFC)中.这不是无效的,但它并不常见,并且可能会导致这样的问题,而且一般的W3C策略(虽然在HTML5 CR中没有说明)有利于NFC.

原文地址:https://www.jb51.cc/html/426826.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐