【发布时间】:2010-08-12 16:56:07
【问题描述】:
许多终端仿真器(xterm、Konsole)支持double-size characters。 Ncurses 不支持这一点,据我所知,ncurses 不会打印转义字符(\033 将被取消转义并以明文形式打印)。
是否可以在 ncurses 应用程序中打印双倍大小的字符?
【问题讨论】:
许多终端仿真器(xterm、Konsole)支持double-size characters。 Ncurses 不支持这一点,据我所知,ncurses 不会打印转义字符(\033 将被取消转义并以明文形式打印)。
是否可以在 ncurses 应用程序中打印双倍大小的字符?
【问题讨论】:
您所指的“双倍大小”字符功能由以下 ANSI 序列设置(找到 here):
ESC #3 DEC 双高线,上半部分 (DECDHL) ESC # 4 DEC 双高线,下半部分 (DECDHL)\e#3 属性使终端切换字符集为仅包含每个字符的上半部分的字符集。同样,\e#4 切换到包含下半部分的字符集。通过结合使用这些,
echo -e "\e#3Foo\n\e#4Foo"
终端可以在两行单独显示“双倍高度”文本。
据我所知,你是对的 - ncurses 没有“实现”它们 - 可能是因为它们依赖于 DECTerminals 最初独有的专用字体集。
言归正传,这似乎不可能,因为 ncurses 没有此功能的 属性,尽管我承认我找不到任何直接说明它的参考资料不可能。也许具有疯狂 terminfo 技能的人可以解释为什么会(或不是)这种情况。
【讨论】: