如何用Unicode很好地显示小数15/16?

时间:2019-03-06 22:48:54

标签: unicode unicode-escapes

我今天了解到,尽管普通分数具有专用的Unicode值,但要形成不太常见的分数(例如³/₁₆),您必须使用上标/下标字符,后跟斜杠。确认为herehere

这对于¹¹/¹和¹³/₁₆起作用,但是与¹⁵/₁₆混淆。您是否看到5指数比1指数高?我想这是因为为了将数字5清楚地显示为上标,它需要比1和3高的高度。

好吧,这带来了一个问题。如何将15/16小数很好地显示为Unicode字符?不幸的是,我不能使用sup和sub标签。我没有在HTML页面中显示它。相反,我们正在将字符串传递给Java应用程序,该应用程序随后将呈现这些值。我知道它可以很好地呈现Unicode值,但无法识别HTML标签。有Unicode解决方案吗?

3 个答案:

答案 0 :(得分:5)

这确实是字体问题,但是问题来自于以下事实:在Unicode中,¹²³属于 Latin-1补编块,而其他上标数字属于上标和下标块,并且会发生某些字体替换。

有关更多详细信息,请参见Why the display of Unicode characters for superscripted digits are not at the same height?;它被标记为iOS,但在macOS上我也有同样的问题。

答案 1 :(得分:2)

在Unicode中组成任意低俗分数的“正确”方法是根本不使用下标和上标数字,而是利用字符U + 2044 FRANCE SLASH的特殊属性。您只需键入常规ASCII数字并用斜杠将它们分开,如下所示:15⁄16。然后,渲染引擎将自动选择正确的数字形式,以产生清晰,统一的外观。

我在引号中加上“适当”一词,是因为不能保证所有系统都支持该方法,并且某些支持该方法的方法不正确或不完整。如果您绝对需要确保100%的接收者(无论使用哪种系统)肯定会看到看起来或多或少正确的内容,因此,我仍然(勉强地)建议使用预格式化的下标和上标作为替代。正如另一个答案所解释的那样,您遇到的问题是字体问题,如果您无法控制字体设置,则无法解决。

答案 2 :(得分:0)

有关很好地显示分数的一般答案,请复制,粘贴和更改。

<身体>
ASCII字符 名称 十六进制值
分数斜线 8260
0 数字0 48
1 数字1 49
2 数字2 50
3 数字3 51
4 数字4 52
5 数字5 53
6 数字6 54
7 数字7 55
8 数字8 56
9 数字9 57

示例:1/0 =

   &#49;&#8260;&#48;