某些宽字符,例如ACS_ULCORNER
和其他字符都可以正常工作,其中ACS_BLOCK
和ACS_CKBOARD
不能按预期工作,而是显示为#
。
使用此命令编译。
gcc test2.c -lncurses -o test2
我用白色箭头突出显示了两者,以便于识别。
答案 0 :(得分:1)
missing是什么:
setlocale(LC_ALL, "");
如果您的语言环境支持UTF-8,则ncurses将检查Unicode值的内置表以扩大终端说明的 acsc
字符串。
这里的xterm使用ncurses测试程序显示等效信息:
而终端描述则忽略了其中一些,如我对altchars的修改后的版本所示:
Unknown line drawing character label(s) found in acsc capability:
|
Unassigned characters from the alternate character set:
h board of squares
+ arrow pointing right
, arrow pointing left
- arrow pointing up
. arrow pointing down
I lantern symbol (old)
0 solid square block
Start alternate character set sequence: ^[(0
End alternate character set sequence: ^[(B