Unicode上标数字呈现错误

2021-01-21 03:35:50

Unicode具有数字字符的上标版本。但是,它们并非总是能正确渲染(例如,当前它们在MacOSX和iOS上使用默认字体已损坏)。原因是因为上标字符1-3是在与字符0、4-9分开的代码块中定义的。在Apple产品上,默认字体的上标字符为1-3,但对于其他数字,后退为其他字体。

对于苹果来说,一个简单的解决方法是将其他上标字符添加到默认字体中(或删除1-3,并为所有上标字符进行回退,但是这可能会破坏没有实现字体回退的软件)。

x⁰,x¹,x²,x³,x⁴,x⁵,x⁶,x⁷,x⁸,x⁹

结果,以下某些行看起来像x ^(ab),另一些行看起来像x ^ a ^ b,而其他行看起来只是断线。

x⁰⁰,x⁰¹,x⁰²,x⁰³,x⁰⁴,x⁰⁵,x⁰⁶,x⁰⁷,x⁰⁸,x⁰⁹

x 1,x 1 1,x 1 2,x 1 3,x​​ 1 2,x 1 2,x 1 2,x 1 4,x 1 4,x 1 3

x²⁰,x²¹,x²²,x²³,x²⁴,x²⁵,x²⁶,x²⁷,x²⁸,x²⁹

x³⁰,x³¹,x³²,x³³,x³⁴,x³⁵,x³⁶,x³⁷,x³⁸,x³⁹ x⁴⁰,x⁴¹,x⁴²,x⁴³,x⁴⁴,x⁴⁵,x⁴⁶,x⁴⁷,x⁴⁸,x⁴⁹ x⁵⁰,x⁵¹,x⁵²,x⁵³,x⁵⁴,x⁵⁵,x⁵⁶,x⁵⁷,x⁵⁸,x⁵⁹ x⁶⁰,x⁶¹,x⁶²,x⁶³,x⁶⁴,x⁶⁵,x⁶⁶,x⁶⁷,x⁶⁸,x⁶⁹ x⁷⁰,x⁷¹,x⁷²,x⁷³,x⁷⁴,x⁷⁵,x⁷⁶,x⁷⁷,x⁷⁸,x⁷⁹ x⁸⁰,x⁸¹,x⁸²,x⁸³,x⁸⁴,x⁸⁵,x⁸⁶,x⁸⁷,x⁸⁸,x⁸⁹ x⁹⁰,x⁹¹,x⁹²,x⁹³,x⁹⁴,x⁹⁵,x⁹⁶,x⁹⁷,x⁹⁸,x⁹⁹

我为什么要在乎? 某些Wikipedia页面使用数字上标字符,并可能导致错误! * Unicode按照此处的设计工作。 不幸的是,相关字符位于单独的块中,因为字体通常设计为覆盖特定的块集。 字体可以从任何块中选取字符。