具有一致数字上标的浏览器字体

时间:2012-01-05 10:39:56

标签: html unicode fonts superscript

这个问题是后续行动:

Why the display of Unicode characters for superscripted digits are not at the same height?

我想找到一个常用的字体,或者更好的字体堆栈,它可以提供数字子和上标Unicode字符的一致显示。这些用HTML表示:

⁰¹²³⁴⁵⁶⁷⁸⁹
₀₁₂₃₄₅₆₇₈₉

⁰¹²³⁴⁵⁶⁷⁸⁹₀₁₂₃₄₅₆₇₈₉

使用Chrome / Windows上的标准SO字体堆栈,上标1 2和3看起来与其他数字不同。如何找到一致显示所有这些字形的字体?或者我应该使用更好的Unicode字符集?如果可以避免,我不想使用<sup>或其他<span>样式。

1 个答案:

答案 0 :(得分:1)

查看fileformat.info上的字体覆盖页面,例如上标四页面: http://www.fileformat.info/info/unicode/char/2074/fontsupport.htm

我们可以期望包含上标4的字体包含从0到9的所有上标数字,但是在拾取字体候选后检查这一点并不会有什么坏处。类似地,包含下标4的字体也包含其他下标数字。

在这些字体中,Lucide Sans Unicode可能是Windows系统中唯一普遍可用的字体。在衬线字体中,Palatino Linotype通常但不是普遍可用的。

在任何情况下,对于HTML文档,最好在CSS中列出替代字体。例如,如果您使用<span class=sup>&#x2074;</span>并且您的整体文本字体是serif字体(对于数学文本,通常首选serif字体),您可以使用CSS规则,例如

.sup { font-family: Cambria, Palatino Linotype, 
       DejaVu Serif, Gentium, Symbola, Code2000; }

所列出的字体都没有包含上标的可能性很小。然后浏览器应该回退到一些可用的字体,但特别是旧版本的IE通常无法做到这一点。因此,您可以考虑将Lucida Sans Unicode放在列表的末尾。