【问题标题】:ncurses (terminal emulator) unicode unreliable subscripts?ncurses(终端仿真器)unicode不可靠的下标?
【发布时间】:2017-04-12 04:00:36
【问题描述】:

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

问题在于,一些(但不是全部)字母下标会以空格的形式出现! 问题下标是:

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

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

终端仿真器可以在充分了解情况时显示这些字符,如以下命令的输出所示

echo -e '\u2095'

这些字符甚至可以“粘贴”到终端,但只能直接粘贴到命令行,而不是通过 nano 等程序,这让我怀疑 ncurses。

这些下标可以显示吗?

【问题讨论】:

    标签: c++ unicode ncurses


    【解决方案1】:

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

    尽管6.0 was released a few years ago,供应商花费数年时间对此类非关键功能进行更新的情况并不少见。

    终端模拟器不一定使用语言环境表(除了处理双宽度和组合字符的特殊情况),因此可以看到使用 cat 显示的“正常”(但新的)字符( 不使用语言环境),但不使用诸如文本编辑器之类的应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-13
      • 2011-08-29
      • 2015-11-10
      • 1970-01-01
      • 2011-01-09
      • 1970-01-01
      • 2016-08-08
      • 1970-01-01
      相关资源
      最近更新 更多