ANSI art 和 Linux 终端 ANSI 转义码之间的区别

ANSI art 和 Linux 终端 ANSI 转义码之间的区别

我刚刚发现了一种在 ANSI 艺术和 Linux 终端中不同的 ANSI 转义。

[0;5;47;30m

问题是这个 ANSI Arthttps://16colo.rs/pack/blocktronics-b-sides/om%20-%20bjork%20-%20debut.ans

这在 PabloDraw 中渲染为 while,但在 Linux 终端(脸部的一部分)中闪烁,因为5根据维基百科是“Rapid Blink”,但它似乎也在 MS-Dos 中。但 47;30 是黑色背景和灰色(颜色被命名为白色,但在维基百科和 Linux 终端中是灰色的)。

有人知道为什么它应该呈现为白色吗?这是一种例外吗?这在某处有记录吗?还有其他类似的东西应该与 Linux 终端上的工作原理不同吗?

答案1

这是一个后果CGA的闪烁实现。在 CGA 上,背景颜色的第四位控制闪烁或高强度,具体取决于另一个硬件寄存器的设置。因此,ANSI.SYS在 MS-DOS 上,ESC[1mESC[5m最终可以互换......

在我对 DOS 的快速测试中,ESC[1m实际上并没有改变任何东西,并且ESC[5m需要获得高强度的背景颜色。

相关内容