使用Ncurses打印双倍大小的字符

时间:2010-08-12 16:56:07

标签: terminal ncurses terminfo

许多终端模拟器(xterm,Konsole)支持double-size characters。 Ncurses不支持这一点,据我所知,ncurses不会打印转义字符(\ 033将不会转义并以明文形式打印)。

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

1 个答案:

答案 0 :(得分:5)

您引用的“双倍大小”字符功能由以下ANSI序列(找到here)设置:

    ESC # 3   DEC double-height line, top half (DECDHL)
    ESC # 4   DEC double-height line, bottom half (DECDHL)

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

echo -e "\e#3Foo\n\e#4Foo"

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

据我所知,你是对的 - ncurses还没有“实现”它们 - 也许是因为它们依赖于DECTerminals独有的专用字体集。

说实话,似乎不可能,因为ncurses对此功能没有属性,虽然我无法找到直接说明它的任何引用是不可能的。也许有疯狂的术语技能的人可以解释为什么这是(或不是)这种情况。