许多终端仿真器(xterm、Konsole)支持双倍大小的字符 http://en.wikipedia.org/wiki/File:VTTEST-doublesize.png。 Ncurses 不支持这一点,据我所知,ncurses 不会打印转义字符(\033 将不转义并以明文形式打印)。
是否有可能在 ncurses 应用程序中打印双倍大小的字符?
您所指的“双倍大小”字符功能是由以下 ANSI 序列设置的(发现here https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h4-Controls-beginning-with-ESC:ESC-pound-3.EB4):
ESC # 3 DEC double-height line, top half (DECDHL), VT100.
ESC # 4 DEC double-height line, bottom half (DECDHL), VT100.
ESC # 5 DEC single-width line (DECSWL), VT100.
ESC # 6 DEC double-width line (DECDWL), VT100.
The \e#3
属性使终端将字符集切换为仅包含每个字符的上半部分的字符集。相似地,\e#4
切换到包含下半部分的字符集。通过将这些一起使用,
echo -e "\e#3Foo\n\e#4Foo"
终端可以在两个单独的行上显示“双倍高度”文本。
据我所知,你是对的 - ncurses 还没有“实现”它们 - 也许是因为它们依赖于 DECTerminals 最初独有的专用字体集。
进入正题,看来不可能因为 ncurses 没有属性对于此功能,尽管我承认找不到任何直接说明这是不可能的参考资料。也许具有疯狂 terminfo 技能的人可以解释为什么是(或不是)这种情况。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)