Растровая графика в xterm?

Нет, не ASCII графика, смотрите скриншот здесь:

http://en.wikipedia.org/wiki/W3m

https://upload.wikimedia.org/wikipedia/commons/6/62/W3m-wikipedia.png

Как это вообще возможно?

Я проверил источник, и он печатает только последовательности символов. Однако я не могу найти ссылки на графические рисунки или escape-последовательности для встраивания изображений в документацию xterm или где-либо еще.

w3m также, кажется, единственное программное обеспечение, которое делает это.

В эмуляции Tektronix есть векторная графика, но это делается в режиме VT.

Может я ищу не ту вещь?

Любая идея?

4 ответа

Решение

Это чит.

Обратите внимание, что эта функция работает только в "поддерживаемых терминалах" - и под этим подразумевается xterm, и рендеринг непосредственно в окне xterm через xv.

Или нет! Только что проверил источники, интересующий нас файл находится здесь. Это все еще хак - через X11 и GTK!

Есть MLTerm, который поддерживает формат Sixel (не команды ReGis). Он доступен как для Linux, так и для Windows.

В противном случае, согласно man xterm на Ubuntu 12.04, xterm поддерживает графику Tektronix, которая (на странице руководства это говорит) использует команды ReGIS или формат битовой карты Sixel, в зависимости от параметров компиляции (я считаю, что это Sixel для XTerm в репозитории пакетов Ubuntu).

Следует знать, что ReGIS - это набор команд, а Sixel - растровый формат.

В качестве примечания, существует пакет Python для использования эмуляторов терминала с поддержкой Sixel: PySixel.

Меня тоже интересует эта тема, и я могу обновить этот ответ в будущем, добавив другие соответствующие записи эмуляторов терминала.

Более высокие модели терминалов Dec VT поддерживают графические команды ReGis и Sixel. Если эмуляция xterm достаточно хороша, может быть, так оно и было?

Xterm поддерживает протоколы Sixel и ReGIS, которые позволяют визуализировать графику непосредственно в терминале, используя escape-последовательности. Однако Unicode мешает 8-битным escape-последовательностям, поэтому вам может потребоваться преобразовать их в 7-битные последовательности.

https://en.wikipedia.org/wiki/Sixel

https://en.wikipedia.org/wiki/ReGIS

Другие вопросы по тегам