Unicode 上标数字 1 到 3 与 4 及以上

平面设计 排版 特点
2022-02-02 13:05:32

¹²³⁴⁵

&

¹ Unicode 字符 'SUPERSCRIPT ONE' (U+00B9)

² Unicode 字符'SUPERSCRIPT TWO' (U+00B2)

³ Unicode 字符 'SUPERSCRIPT 三' (U+00B3)

⁴ Unicode 字符“SUPERSCRIPT FOUR” (U+2074)

⁵ Unicode 字符 'SUPERSCRIPT FIVE' (U+2075)

Unicode 上标一、二和三似乎是同时完成的,因此是相同的“高度”。Unicode 上标四和五似乎是同时完成的,但与一、二和三不同,因此是相同的“高度”,但所说的高度似乎与 Unicode 上标一、二和三的高度不同三。

没有高度不变的 Unicode 上标数字吗?

我希望不必<super></super>为每个人使用。

Georgia(字体)似乎确实将它们呈现在几乎所有相同的高度。

2个回答

Unicode 上标一、二和三 […] 是 […] 相同的“高度”。Unicode 上标四和五 [...] 是 [...] 相同的“高度”,但所说的高度似乎与 Unicode 上标一、二和三的高度不同。

Unicode 是关于编码字符而不是关于它们的详细形状。例如,Unicode 字符 U+0067(拉丁文小写字母 G)可能因字体不同而看起来完全不同,例如,它的下行字符可以打开或关闭——Unicode 不在乎。

类似地,Unicode 没有规定任何关于上标数字的高度。然而,目的是实现这些字符以相互匹配,即具有相同的高度。但照顾好这个是字体设计师的工作。

Unicode 上标一、二和三似乎是同时完成的 […]。Unicode 上标四和五似乎是同时完成的,但与一、二和三的时间不同 […]

这实际上只是一个历史事件,可能是由于与旧编码或类似编码的向后兼容性。人们可以深入研究 Unicode 的历史以找出究竟发生了什么,但这并不重要。

这样做的主要影响是前三个上标位于 Unicode Block Latin-1 Supplement 中。由于字体的字形覆盖通常在支持的 Unicode 块中指定和宣传,而Latin-1 Supplement是一个重要的块(例如,包含大多数使用拉丁字母表的欧洲语言所需的特殊字符),许多字体设计师将实现这个块中的所有字符,唯一的原因是它们的字体覆盖了这个块,即使是现在几乎不再使用的像 ¬、¦ 和 ¤ (U+00A4、U+00A6 和 U+00AC)这样的字符。

这些类型设计器也可能不支持包含其他上标数字的上标和下标块。此外,由于创建正确的上标数字需要时间(见下文),一些字体设计师可能决定只支持第一个,最重要的数字。

当您使用仅支持前三个上标数字的字体时,无论呈现您的文本,都将为其他数字使用备用字体,因此它们将不匹配。这很可能是引起您问题的观察结果。

我希望不必<super></super>为每个人使用。

正如上面已经暗示的那样,印刷良好的上标数字不仅仅是重新调整的正常数字 - 您通常会在使用<sup>或类似时得到它¹。重新缩放的正常数字通常会太细,或者在其他方面与正常文本不一致。这个问题类似于光学尺寸的问题。此外,默认数字可能是小写数字,您不想将其用于上标数字。

以下是一些支持上标数字的字体示例(然后相互匹配)。为了比较,在右侧,您有通过调整常规数字大小生成的上标数字。

在此处输入图像描述

在所有示例中,指定的上标数字比按比例缩放的常规数字更粗、更宽和更小。(当然,您可以将常规数字缩放得更小,但这会加剧其他差异。)

请注意,在第一个示例中,上标数字的衬线与字母的衬线大小相同。在第四个示例中,上标数字与常规数字(也恰好是小写数字)的风格完全不同。


¹ 除非您的字体支持 OpenType 功能Superscript Forms ( sups) 并且您的浏览器尽可能使用此功能作为<sup>标记。但是,据我所知,目前还没有浏览器这样做。

这取决于您使用的字体和软件。

在一个网站上,比如在平面设计中,默认字体可能只包含“标准”¹²³而不包含任何其他字体,因此这些字体可能来自字体堆栈中的另一种字体。

没有 HTML 代码<super>,但假设您的意思是<sup>,就使用它。即使您尝试选择在大多数计算机上通用的字体,仍然有可能某些用户没有该字体,或者他有但在肯定包含额外上标的版本中没有。