使用Ncurses打印双倍字符

mat*_*asf 2 terminal ncurses terminfo

许多终端仿真器(xterm,Konsole)都支持精度字符。Ncurses不支持此功能,据我所知,ncurses不会打印转义字符(\ 033将不转义并以明文打印)。

是否可以在ncurses应用程序中打印双倍字符?

gam*_*men 7

您所指的“双倍大小”字符功能是由以下ANSI序列(在此处找到)设置的:

    ESC#3 DEC双高线,上半部(DECDHL)
    ESC#4 DEC双高线,下半部分(DECDHL)

\e#3属性使终端开关字符集成为仅包含每个字符的上半部分的字符集。同样,\e#4切换到包含下半部分的字符集。一起使用

echo -e "\e#3Foo\n\e#4Foo"
Run Code Online (Sandbox Code Playgroud)

终端可以在两条单独的行上显示“双倍高度”文本。

据我所知你是对的-ncurses尚未“实现”它们-可能是因为它们依赖于DECTerminals最初独有的专用字体集。

直言不讳,这似乎是不可能的,因为ncurses没有此功能的属性,尽管我承认我找不到直接表明不可能的参考。也许那些具有疯狂的terminfo技能的人可以解释为什么是(或不是)这种情况。