html - Unicode 字符和浏览器

标签 html browser unicode fonts

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

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

最佳答案

CSS 2.1 font matching algorithm意味着浏览器应为每个字符选择一个字形,该字形来自适用的 font-family 声明中建议的字体,如果做不到,则使用依赖于浏览器的默认字体。如果它甚至不包含该字符,那么“UA [= 浏览器] 可能会使用其他方式来确定适合该字符的字体。用户代理应将其没有合适字体的每个字符映射到用户代理选择的可见符号,最好是用户代理可用字体之一的‘缺失字符’字形。”

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

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

关于html - Unicode 字符和浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10073284/

相关文章:

javascript - 如何检测 html 中表的 <td> 中的负值?

css - 浏览器最小化时圆形 div 重新定位

java - 有没有办法在Java中嵌入浏览器?

c++ - 如何将 C++ wstring UTF-8 字符打印到 Mac OS 或 Unix 终端?

html - css 搜索框未设置在正确的位置

javascript - 未捕获的语法错误 : Unexpected token ILLEGAL in dojo

node.js - 通过 Puppeteer 设置 SessionStorage

java - 将 UTF-8 Unicode 字符串转换为 ASCII Unicode 转义字符串

vba - 获取带有 Unicode 文件名的完整路径

jquery - 如何使子div = 父级的高度显示:inline-block and unspecified height?