Растровая графика в xterm?
Нет, не ASCII-графика, см. скриншот здесь:
http://en.wikipedia.org/wiki/W3m
![image]()
Как это возможно?
Я проверил источник, и он только печатает последовательности символов. Тем не менее, я не могу найти ссылку на escape-последовательности графического рисунка или изображения в документации xterm или в другом месте.
w3m также кажется единственным программным обеспечением, которое делает это.
В эмуляции Tektronix есть векторная графика, но это делается в режиме VT.
Возможно, я искал неправильную вещь?
Любая идея?
Ответы
Ответ 1
Это чит.
Обратите внимание, что эта функция работает только в "поддерживаемых терминалах" - и это означает, что xterm и рендеринг непосредственно в окне xterm через xv.
Или нет! Просто просмотрите источники, файл, который нас интересует, здесь. Он все еще взломан - через X11 и GTK!
Ответ 2
Существует MLTerm, который поддерживает формат Sixel (а не команды ReGis). Он доступен как для Linux, так и для Windows.
В противном случае, согласно man xterm
в Ubuntu 12.04, xterm
поддерживает графику Tektronix, которая (справочная страница говорит) использует ReGIS команды или формат растрового изображения Sixel, в зависимости от параметров компиляции (я полагаю, это Sixel для XTerm в репозитории пакетов Ubuntu).
Одна вещь, которую нужно знать, это то, что ReGIS - это набор команд, а Sixel - формат растрового изображения.
В качестве побочного примечания существует пакет Python для использования эмуляторов терминалов Sixel: PySixel.
Я тоже интересуюсь этой темой и могу обновить этот ответ в будущем, используя другие соответствующие записи эмуляторов терминала.
Ответ 3
Более поздние модели терминалов Dec VT поддерживают ReGis и Sixel графических команд. Если эмуляция xterm достаточно хороша, возможно, как это было сделано?
Ответ 4
Xterm поддерживает протоколы Sixel и ReGIS, которые позволяют визуализировать графику непосредственно в терминале с использованием управляющих последовательностей. Однако Unicode вмешивается в 8-битные escape-последовательности, поэтому вам может потребоваться преобразовать их в 7-битные последовательности.
https://en.wikipedia.org/wiki/Sixel
https://en.wikipedia.org/wiki/ReGIS