ncurses(终端模拟器)unicode不可靠的下标?

时间:2017-04-12 04:00:36

标签: c++ unicode ncurses

我为我的小项目添加了ncursesw支持,现在我可以将各种unicode字符输出到终端模拟器("终结符"或" gnome-teminal")。

问题在于,有些(但不是全部)按字母顺序排列的下标是空格! 问题下标是:

h,k,l,m,n,p,s,t(从\u2095\u209C的连续区块)

下标a,e,i,j,u,v正确显示。

终端仿真器CAN在充分通知时显示这些字符,如

之类的命令输出所示

echo -e '\u2095'

这些角色甚至可以粘贴到"终端,但只能直接到命令行,而不是通过像nano这样的程序,这让我怀疑是ncurses。

可以显示这些下标吗?

1 个答案:

答案 0 :(得分:0)

取决于:according to Unicode.org,这些字符是在6.0中添加的,可能不会出现在所有字体中,并且它们的信息也可能不会出现在区域设置表中。 ncurses使用语言环境表;没有信息的角色将显示为空白。

虽然6.0 was released a few years ago,但供应商需要花费数年时间对此类非关键功能进行更新并不罕见。

终端仿真器不一定使用区域设置表(除了处理双宽度和组合字符的特殊情况),因此可以看到使用{{1}显示的“正常”(但新)字符(使用区域设置),但不能使用文本编辑器等应用程序。