【发布时间】:2017-03-07 18:41:48
【问题描述】:
标准 C 库的 wcwidth 调用为亚洲字符返回 2。然后是 Unicode 符号,如箭头。对于那些它返回1。通常情况下,字符比单列宽,但库并没有错,因为终端在单列打印它们并允许视觉重叠,有时会给出不错的结果,例如 ndash "-"。
有没有明显受苦的角色?我想知道亚洲人和其他地区的人如何使用终端,他们开发了哪些解决方案。例如,显示跨越整行并包含当前目录名称的 shell 提示可能是一个严重的问题。可以wcwidth打补丁以获得更好的效果吗?例如,使用github/wcwidth.c 作为起点。
【问题讨论】:
标签: c unicode terminal width multibyte-functions