在维基百科我找到了以下 SGR(选择图形再现)功能的亮色代码
FG BG
90 100 Bright Black
91 101 Bright Red
92 102 Bright Green
93 103 Bright Yellow
94 104 Bright Blue
95 105 Bright Magenta
96 106 Bright Cyan
97 107 Bright White
维基百科上说“后来的终端添加了直接指定“明亮”颜色的功能,即 90–97 和 100–107”。但是,我在 ECMA-48/5 中找不到这些代码。只有从 0 到 65 的参数值。任何人都可以解释 wiki 上的这些代码以及如何根据 ISO/IEC 6429:1992 使颜色明亮吗?
答案1
ECMA-48 没有定义“明亮的颜色”。这是由于电脑显示器的出现。这是一个常问问题。
ECMA-48 定义了代码 0-7 的颜色,包括前景和背景。文本 (ECMA-48) 可以以粗体显示。 PC显示器不显示大胆的文本(相当于粗体明亮的是反转因果),但使用了该功能的亮度。由于正常(非粗体)黄色显示为棕色的等等,在 xterm 和其他终端(例如 Linux 控制台)中,颜色 8-15 是一个理想的功能(在 xterm 中,粗体颜色资源)。
boldColors (class ColorMode)
Specifies whether to combine bold attribute with colors like
the IBM PC, i.e., map colors 0 through 7 to colors 8 through
15. These normally are the brighter versions of the first 8
colors, hence bold. The default is "true"
一些应用称其为鲜艳的色彩(这是不必要的限制)。你必须回去尽管查看哪个术语最先出现。在 xterm 中,它最初被称为“16色”。在里面爱克斯泰姆联机帮助页,既不使用粗体也不使用明亮:
30..37 前景色 — Xh、H 40..47 背景颜色—Xh、H 90..97 前景色 — Xh、H 100..107 种背景颜色—Xh、H
(Xh和H指端子类型)。
顺便说一句,Linux 控制台有“最近”(在过去 2-3 年中)添加了表示“明亮”颜色的 aixterm 代码 90-107。