ios 为什么上标数字的Unicode字符显示不在同一高度?

14ifxucb  于 2023-03-05  发布在  iOS
关注(0)|答案(3)|浏览(173)

为什么Unicodes显示的数字上标不在相同的高度?如果你用上标的数字做两位数,这一点特别明显。其中一些看起来很好,但其余的看起来彼此不一样。我错过了什么吗?或者是这样的?

mm9b1k5b

mm9b1k5b1#

就像jrturton提到的,¹、²和³来自一个遗留字符集(Latin 1),因此包含在不同的地方。这也意味着许多字体不支持更多的上标数字,因为许多字体只支持拉丁语、希腊语和西里尔语,并添加了一些标点符号。所以剩下的字体来自一个不同的字体,作为一个作者,你几乎没有控制权。
例如:

这些是从1到9和0的上标数字。这段文字在Word中是以Arial格式显示的。你可以看到剩下的文字发生了什么。与jrturton所认为的相反,这并不涉及对现有字形的重塑。这只是字体替换。

vpfxa7rd

vpfxa7rd2#

不合适的(1,2和3)被添加在其余的之前(见维基百科:http://en.wikipedia.org/wiki/Unicode_superscripts_and_subscripts),并且来自不同的unicode块。这并不能解释为什么它们看起来不同,但可能是因为这些是大多数字体中的实际字符,而其余的只是标准字形的调整版本。
这看起来是怎么回事,你是对的,它看起来可怕当你试图使多位数上标数字。我不知道它是否适用于所有字体,但它是非常明显的iOS系统字体。
如果有人有办法让这个工作,我会在这个问题上悬赏。

    • 更新**

我设计了一个小程序,可以循环浏览手机上的所有字体,并显示从0到9的上标数字。以下字体在所有数字中的外观都是一致的:

  • 扎普菲诺
  • 快递-粗体
  • 美式打字机(也叫-粗体)
  • 平核蛋白N-W6(也称为W3)
  • 醒目-粗体(也可-浅色)
h9a6wy2h

h9a6wy2h3#

为了增加更多的数据,在某些情况下,即使字体中有明确的字形,它们也会被放在错误的高度(我怀疑这是为了向后兼容,但我不知道历史)。
以下是macOS 13.2.1上Helvetica Neue使用的字形:

设计和尺寸匹配,但垂直偏移不同。

相关问题