ncurses (Terminal Emulator) Unicode 不可靠的下标
ncurses (terminal emulator) unicode unreliable subscripts?
我为我的小项目添加了ncursesw支持,现在我可以将各种Unicode字符输出到终端模拟器("终结者"或"gnome-teminal"(。
问题是一些(但不是全部(按字母顺序排列的下标显示为空格!问题下标是:
h,k,l,m,n,p,s,t
(从u2095
到u209C
的连续街区(
下标a,e,i,j,u,v
正确显示。
终端仿真器可以在充分通知时显示这些字符,如命令的输出所证明的那样
echo -e 'u2095'
这些字符甚至可以"粘贴到"终端中,但只能直接粘贴到命令行中,而不是通过 nano 等程序,这让我怀疑 ncurses。
这些下标可以显示吗?
这取决于:根据 Unicode.org,这些字符是在 6.0 中添加的,可能不会出现在所有字体中,而且它们的信息可能不会出现在区域设置表中。 ncurses 使用区域设置表;没有信息的字符将显示为空白。
尽管 6.0 是在几年前发布的,但供应商需要几年时间才能对此类非关键功能进行更新的情况并不少见。
终端仿真器不一定使用区域设置表(除了处理双倍宽度和组合字符的特殊情况(,因此可以看到使用 cat
(不使用区域设置(显示的"正常"(但新(字符,但不能使用文本编辑器等应用程序。
相关文章:
- 尝试通过多个向量访问变量时,向量下标超出范围
- 矢量下标超出SFML游戏中的范围
- C++ IDE 不会推断/自动完成对模板类中的 std::array 下标表达式的成员访问
- 有什么理由不扩展 std::set 以添加下标运算符吗?
- ncurses (Terminal Emulator) Unicode 不可靠的下标
- "飞机"不提供下标运算符是什么意思"
- 重载下标运算符不返回指针
- 不正确的下标
- Xcode 不会在超出范围的矢量下标上崩溃
- 数组下标不是整数,尽管被声明为 int
- 字符串下标超出范围.我不知道如何使用字符索引数组,所以我使用了(无符号整数),但它不起作用
- opencv 3.0 Mat 不提供下标运算符
- 我一直得到下标超出范围不知道如何解决它
- 使用 c++,为什么我知道它不是时会收到错误消息“字符串下标超出范围”?或者至少看起来是这样
- 如果不满足"if criteria",默认返回什么?重载下标运算符
- 为什么"std::initializer_list"不提供下标运算符?
- 指向不完整类型'const std::complex的指针下标,<float>当使用C ++ 11时
- 在传递给函数的 char 指针上使用下标运算符不会修改值。为什么?
- 通过不返回引用来防止下标操作符的赋值会导致运行时崩溃
- 使用重载下标运算符"[ ]"获取数组并将其设置为数组的值将不起作用