Таблица 21.5. Коды цветов
Число |
Цвет |
Число |
Яркий цвет |
0 |
Черный |
8 |
Темно-серый |
1 |
Красный |
9 |
Светло-красный |
2 |
Зеленый |
10 |
Светло-зеленый |
3 |
Коричневый |
11 |
Желтый |
4 |
Голубой |
12 |
Светло-голубой |
5 |
Пурпурный |
13 |
Ярко-красный |
6 |
Синий |
14 |
Светло-синий |
7 |
Серый |
15 |
Белый |
Указанные цвета фактически представляют собой смещения — названия цветов в таблице описывают стандартные цвета, которые хранятся по данным смещениям. Однако вы можете изменять эти цвета при помощи последовательности установки палитры. Например, последовательность ^[]P
определяет отдельный компонент палитры; последовательность ^[]R
восстанавливает стандартную системную палитру. Компоненты палитры определяются семью шестнадцатеричными цифрами, введенными после ^[]P
, как описано в табл. 21.6. Таким образом, для каждого элемента палитры вы можете предоставить 24-битовое определение цвета с восемью битами для каждого цвета.
Таблица 21.6. Компоненты цветовой палитры
Число |
Что определяет |
1 |
Элемент палитры, который нужно переопределить. |
2*16+3 |
Значение красного компонента элемента палитры. |
4*16+5 |
Значение зеленого компонента элемента палитры. |
6*16+7 |
Значение синего компонента элемента палитры. |
Последовательности изображения символов, указанные командами CSIm
, могут принимать в произвольном порядке до 16 параметров, перечисленных в табл. 21.7. Параметры применяются к терминалу в том порядке, в котором они передаются. Таким образом, если 0
(установка стандартного изображения) сопровождается 1
(для установки полужирного шрифта), то результатом будет полужирный символ (а не мерцающее негативное видеоизображение) или подчеркнутый символ в зависимости от предыдущих установок изображения.
Таблица 21.7. Параметры изображения символов
par |
Описание |
0 |
Стандартное изображение: средняя интенсивность, без подчеркивания, без негативного изображения, без мерцания, с обычной цветовой схемой (белое на черном, если не установлен другой способ при помощи последовательности сохранения setterm ^[[]8 ). |
1 |
Интенсивность — насыщенная. |
2 |
Интенсивность — матовая. |
4 |
Включается подчеркивание. |
5 |
Включается мерцание. |
7 |
Включается негативное видеоизображение. |
10 |
Выбирается исходный шрифт (ISO latin 1), при этом не отображаются управляющие символы, сбрасывает бит 8 в выводе. |
11 |
Выбирается альтернативный шрифт (IBM Codepage 437), при этом управляющие символы отображаются как графические данные, сбрасывает бит 8 в выводе. |
12 |
Выбирается альтернативный шрифт (IBM Codepage 437), при этом управляющие символы отображаются как графические данные, оставляет бит 8 в выводе. |
21 22 |
Интенсивность — стандартная. |
24 |
Отключается подчеркивание. |
25 |
Отключается мерцание. |
27 |
Отключается негативное видеоизображение. |
30-37 |
Устанавливается цвет переднего плана par ||30; см. табл. 21.5. |
38 |
Включается подчеркивание и используется стандартный цвет текста. |
39 |
Отключается подчеркивание и используется стандартный цвет текста. |
40-47 |
Устанавливается цвет фона par ||40; см. табл. 21.5. |
49 |
Используется стандартный цвет фона. |
Некоторое отношение к последовательностям изображения символов имеют последовательности режимов. Существует два типа режимов: режимы ANSI и внутренние режимы DEC. Последовательность СSIh
устанавливает режимы ANSI, описанные в табл. 21.8; последовательность CSIl
сбрасывает их. В последовательность может входить более одного параметра. Последовательность CSI?h
определяет внутренние режимы DEC, перечисленные в табл. 21.9; последовательность CSI?l
сбрасывает их. Также может приниматься более одного параметра.
Таблица 21.8. Режимы ANSI
par |
Описание |
3 |
Отображаются управляющие символы. |
4 |
Режим вставки. |
20 |
Режим CRLF (при получении символа новой строки выполняется возврат каретки). |
Таблица 21.9. Внутренние режимы DEC
par |
Описание |
1 |
Клавиши управления курсором работают как клавиши приложения ; в режиме приложения к ним добавляется префикс ^[O вместо обычного ^[[ . |
3 |
На данный момент не реализован; в будущем предназначен для переключения между режимами 80 и 132 колонки. |
5 |
Весь экран переводится в режим негативного изображения. |
6 |
Устанавливается режим начала отсчета DEC, при котором принимаются области прокрутки; перемещается в начало отсчета (текущей области прокрутки, если она задана). |
7 |
Устанавливается режим автоматического перехода на новую строку (по умолчанию), при котором продолжается ввод текста с новой строки, когда курсор достигает конца текущей строки. Если данный режим выключен, то лишние символы печатаются поверх самого правого символа текущей строки. |
8 |
Клавиатура переводится в режим повторения символов (включен по умолчанию). |
9 |
Режим отчета мыши 1 (поддержка может предоставляться внешней программой). |
25 |
Курсор становится видимым (включен по умолчанию). |
1000 |
Режим отчета мыши 2 (поддержка может предоставляться внешней программой). |
Последовательности setterm представляют собой набор последовательностей CSI с управляющим символом ]
. Они перечислены в табл. 21.10.
Читать дальше