Unicode组合笔画字符的高度错误吗?

时间:2019-01-16 11:54:38

标签: unicode encoding character-encoding python-unicode

我有一个字符串,例如“€1,49”,我想用unicode删除它。我知道U+0336应该可以做到这一点,我将其应用到我的字符串(在Python中)是这样的:

'\u0336'.join('€1,49') + '\u0336'

问题在于,它最终以与其余字符串不同的高度敲击逗号,从而消除了清晰的删除线的错觉(请参见屏幕截图)。screenshot

有人可以告诉我我在做什么错吗?

1 个答案:

答案 0 :(得分:2)

我认为你做不到。

您要查找的格式超出了unicode范围。您应该使用控制字符(如果终端支持),或者使用html或其他方式。

您使用的功能主要是修改现有字符(和相同类型)。

注意:Unicode也没有定义输出,因此上面的输出取决于字体,并且在许多不同的环境中可能无法工作。

通过用逗号和一些组合字符(如空格)替换逗号,可能会得到更好的结果,以便字体将组合视为较高的字符,从而使对齐方式更一致。但是,正如我所写的那样,它并不是真正可移植的,并且取决于您的字体,因此我无法测试并提供良好的解决方案。 [而且正如我之前说过的,使用U + 0336进行这种格式化是一种不好的感觉]