Unicode字符和浏览器

时间:2012-04-09 12:38:29

标签: html5 browser unicode fonts

考虑一个编码为UTF-8的HTML页面,其中会出现bizarre unicode character - 形成一种罕见的语言或其他一些Unicode特性。

这种情况是否存在标准行为?浏览器会尝试找到合适的字体吗?可以使用HTML参数配置浏览器行为吗?

2 个答案:

答案 0 :(得分:5)

CSS 2.1 font matching algorithm表示浏览器应为每个字符选择适用的font-family声明中建议的字体中的字形,否则,请使用与浏览器相关的默认字体。如果它甚至不包含该字符,那么“UA [=浏览器]可以使用其他方法来确定该字符的合适字体。 UA应将其没有合适字体的每个字符映射到UA选择的可见符号,最好是UA可用字体之一的“缺少字符”字形。“

所以它定义得很好,但是依赖于浏览器。该算法允许浏览器显示缺少的字符符号,即使系统中某些字体包含字形符号也是如此。现代浏览器通常不这样做,但IE在这方面也不是特别现代。此外,浏览器存在一些怪癖和奇怪之处,部分原因是它们有时无法从字体本身获取有关字体的正确信息。

您无法配置基本行为,但您可以按照其规则进行游戏。最有效的方法是使用作者提供的字体系列。如果你有一个奇怪的字符,你应该尝试确定一组包含它的字体并编写一个合适的CSS规则。但是,对于非常罕见的字符,选项实际上是:1)使用可下载字体,2)使用图像。更多信息:http://www.cs.tut.fi/~jkorpela/html/characters.html

答案 1 :(得分:3)

是的,浏览器通常会尽量以某种字体显示它。有些浏览器/操作系统比其他浏览器更好。如果页面的默认字体不包含该字符,有些人可能会放弃,但大多数人会尝试查找包含该字符的其他已安装字体。如果没有匹配,浏览器将显示一些占位符,通常是正方形。

就是这样。没有什么奇怪的,这就是字体渲染的工作原理。

相关问题