我试图在这个jsfiddle中显示 heart ♥ Unicode 字符(U+2665 BLACK HEART SUIT) 。
即使我指定了Droid Sans
字体,不同的浏览器也会以不同的方式显示相同的字符。因此,我假设该Droid Sans
字体不包含 ♥ 字符,并且浏览器必须回退到其他字体才能显示该字符。但是浏览器如何确定 Unicode 字符使用哪种字体?事实证明(从屏幕截图中)它不是特定于操作系统的,因为 Ubuntu 上的 Firefox 和 Chromium 都以不同的方式显示它;而且它不是特定于浏览器的,因为 Firefox 在 Ubuntu 和 Windows 7 上的显示方式不同。
所以我的问题是——浏览器如何确定使用哪种字体来显示 Unicode 字符?如何找出浏览器使用哪种字体来显示 Unicode 字符;以及如何确保跨浏览器的外观一致?
PS:(Firefox 特定)即使Droid Sans
不包含 ♥ 字符,Firefox 仅在所选字体为Droid Sans
. 对于任何其他字体,Firefox 会选择DejaVu Sans
字体来显示 ♥ 字符(在 Ubuntu 上,通过点击和试用确认)。