为什么Firefox会挤压Windows的核心,而不是Ubuntu的核心?

时间:2012-11-20 15:44:09

标签: unicode fonts cross-browser typography

我正试图在此jsfiddle中显示心脏♥Unicode字符(U + 2665 BLACK HEART SUIT)。

即使我指定了Droid Sans字体,不同的浏览器也会以不同的方式显示相同的字符。所以,我假设Droid Sans字体不包含♥字符,浏览器必须回退到其他字体才能显示此字符。但是浏览器如何确定用于Unicode字符的字体;事实证明(从截图中)它不是特定于操作系统的,因为Ubuntu上的Firefox和Chromium显示的方式不同;并且它不是浏览器特定的,因为Firefox在Ubuntu和Windows 7上以不同的方式显示它。

所以我的问题是 - 浏览器如何确定用于显示Unicode字符的字体;如何找出浏览器使用哪种字体显示Unicode字符;如何确保跨浏览器的一致外观?

PS:(特定于Firefox)尽管Droid Sans不包含♥字符,但只有当所选字体为Droid Sans时,Firefox才会将其显示为屏幕截图。对于任何其他字体,Firefox会选择DejaVu Sans字体来显示♥字符(在Ubuntu上,通过点击和试用确认)。

enter image description here

1 个答案:

答案 0 :(得分:0)

Droid Sans字体不包含U + 2665 BLACK HEART SUIT,因此声明字体在此处无关紧要。我不能在你的“PS”中重现这个观察,所以我不是要解释它。

(检查字体中字符覆盖率的一种快捷方法是下载并安装LastResort字体。它包含所有字符的通用,易于识别的呈现,因此在测试中使用font-family: foo, LastResort您将很快发现字体“foo”中是否存在特定字符的文本。)

后备字体的使用取决于浏览器。浏览器可能有此设置。但问题是,作为作者,当您在指定的字体列表中找不到您的字符时(如果已安装,则在用户的计算机中),您无法知道其他人的浏览器会发生什么。