NcursesACS_BLOCK和WACS_BLOCK不一样吗?

Ncurses ACS_BLOCK not the same as WACS_BLOCK?

我从 add_ch 切换到必须使用 add_wch 这导致我也不得不将使用各种 ACS_ 特殊绘图字符更改为 WCS_ 版本.我发现的问题是 WCS_ 版本不是完整块,而只是部分块,而 ACS_ 是正确的完整块。有办法解决这个问题吗?

TIA!!

这似乎是一个 ncurses 错误。他们将 WCS_BLOCK 定义为 0x25AE 但那是 "Vertical Rectangle"。正确的定义应该是 0x2588 即 "Full Block"。所以你必须创建自己的 cchar_t 并使用它。类似于:

wchar_t wch[2];
wch[0]=(wchar_t) 0x2588;
wch[1]=0;
cchar_t cch;
setcchar(&cch, wch, WA_NORMAL, 0, NULL);