文本终端通常仅支持少量颜色,计算机通过小整数选择终端上的颜色。这意味着计算机无法可靠判断所选颜色的实际外观;你需要告知应用程序哪些小整数对应哪些颜色。不过,Emacs 已知标准颜色集,并会尝试自动使用它们。
本节描述的函数用于控制 Emacs 如何使用终端颜色。
其中多个函数使用或返回rgb 值,相关说明见 颜色名称。
这些函数接受一个显示设备(框架或终端名称)作为可选参数。我们期望未来 Emacs 能在不同文本终端上支持不同颜色;届时该参数将指定操作的终端(默认为选中框架所属终端;see 输入焦点)。但目前,frame 参数暂无效果。
该函数将颜色名称 name 与终端上的颜色编号 number 关联。
可选参数 rgb(若指定)为 RGB 值,即由三个数字组成的列表,用于描述该颜色的实际外观。若未指定 rgb,则 tty-color-approximate 无法使用该颜色近似其他颜色,因为 Emacs 不知道其外观。
该函数清空文本终端的已定义颜色表。
该函数返回一个关联列表,记录文本终端支持的已知颜色。
每个元素格式为 (name number . rgb) 或 (name number)。其中 name 为颜色名称,number 为终端使用的颜色编号。若存在 rgb,则为描述颜色实际外观的三个颜色值(红、绿、蓝)列表。
该函数在显示设备支持的已知颜色中,查找与 RGB 值 rgb(颜色值列表)最接近的颜色。返回值为 tty-color-alist 中的一个元素。
该函数在显示设备支持的已知颜色中查找与 color 最接近的颜色,并返回其索引(整数)。若颜色名称 color 未定义,则返回 nil。