Конвертированное изображение слова посредством ASCII графикиКто из Вас после прочтения ранних журналов на компьютерную тематику, как российских, так из многих зарубежных натыкаясь на изображение псевдографического характера и тотчас сделать себе такое, может даже похвастаться перед несведущими, хотя так уже точно не стоит делать, но все же. Такое изображение состояло из комбинирования специальных символов, таких как: ?,#$/\ да и многих других. Как мне помнится я сам пытался под Windows в блокноте нарисовать что-то такое, чтобы радость от того, что это я сделал сам и оно хоть и имеет отдаленный вариант что было в журналах, но моё. Я посредством google искал программы которые с генерируют мне данное изображение/текст на основе исходного слова, но все было не то, да и платно преимущественно. Не отрицаю, что может в то время я плохо искал, но результат был на лицо. Со временем свою затею создания текстового баннера на основе специальных символов я отложил на не определенный срок, и вот это время настало. В данной заметке я расскажу и покажу, как создавать текстовые баннеры в моей любимой системе Ubuntu 12.04.5 Server amd64 задействовав мощь консоли:

Итак, посредством репозитариев системы находим такую утилиту, как — figlet, что же подразумевает данное слово, а слово состоящее из букв одной фразы: Frant, Ian & Glenn’s Letters

ekzorchik@srv-serv:~$ apt-cache search figlet

figlet – Frank, Ian & Glenn’s Letters

Что же может данная утилита?, а может она считать поток ввода или принимать сообщения как часть из командной строки.

Ниже покажу на примере, но сперва установлю ее в систему, в этой процедуре нет ничего сложного:

ekzorchik@srv-serv:~$ sudo apt-get install figlet -y

отобразим название моего блога посредством ASCII графики:

ekzorchik@srv-serv:~$ figlet ekzorchik

Конвертированное изображение слова посредством ASCII графики

 

 

 

ну как Вам оно, здорово правда, я не мог не нарадоваться тому, что наконец таки вернулся к своей затеи создавать ASCII изображения.

Еще одна приятная особенность — это подгруздка файла содержащего текст:

ekzorchik@srv-serv:~$ cat >> file << EOF

> ekzorchik.ru

> EOF

ekzorchik@srv-serv:~$ figlet -p < file

_ _ _ _

___| | __ _______ _ __ ___| |__ (_) | __ _ __ _ _

/ _ \ |/ /|_ / _ \| ‘__/ __| ‘_ \| | |/ / | ‘__| | | |

| __/ < / / (_) | | | (__| | | | | < _| | | |_| |

\___|_|\_\/___\___/|_| \___|_| |_|_|_|\_(_)_| \__,_|

Некоторые аргументы запуска:

  • -f для выбора файла шрифта. (файлы шрифтов имеют расширение: flf, список доступных шрифтов:

ekzorchik@srv-serv:~$ sudo find / -type f -name *.flf

/usr/share/figlet/mini.flf

/usr/share/figlet/standard.flf

/usr/share/figlet/smslant.flf

/usr/share/figlet/smscript.flf

/usr/share/figlet/digital.flf

/usr/share/figlet/slant.flf

/usr/share/figlet/term.flf

/usr/share/figlet/block.flf

/usr/share/figlet/small.flf

/usr/share/figlet/shadow.flf

/usr/share/figlet/smshadow.flf

/usr/share/figlet/big.flf

/usr/share/figlet/mnemonic.flf

/usr/share/figlet/bubble.flf

/usr/share/figlet/script.flf

/usr/share/figlet/banner.flf

/usr/share/figlet/lean.flf

/usr/share/figlet/ivrit.flf

можете потренироваться со всеми из них поочередно, чтобы оценить, какой же шрифт Вам больше нравиться:

  • -d для смены директории с шрифтами.
  • -c расположить вывод по центру.
  • -l расположить вывод слева.

ekzorchik@srv-serv:~$ figlet -f digital -l -p < file

+-+-+-+-+-+-+-+-+-+-+-+-+

|e|k|z|o|r|c|h|i|k|.|r|u|

+-+-+-+-+-+-+-+-+-+-+-+-+

  • -r расположить вывод справа.

ekzorchik@srv-serv:~$ figlet -f digital -r -p < file

+-+-+-+-+-+-+-+-+-+-+-+-+

|e|k|z|o|r|c|h|i|k|.|r|u|

+-+-+-+-+-+-+-+-+-+-+-+-+

  • -t установить ширину вывода по ширине терминала.
  • -w определить ширину вручную.

ekzorchik@srv-serv:~$ figlet -f digital -l -w 15 -p < file

+-+-+-+-+-+-+

|e|k|z|o|r|c|

+-+-+-+-+-+-+

+-+-+-+-+-+-+

|h|i|k|.|r|u|

+-+-+-+-+-+-+

  • -k включить кернинг, печатать каждого символа отдельно, вместо объединения соседних букв.

ekzorchik@srv-serv:~$ figlet -f digital -l -k -p < file

+-++-++-++-++-++-++-++-++-++-++-++-+

|e||k||z||o||r||c||h||i||k||.||r||u|

+-++-++-++-++-++-++-++-++-++-++-++-+

Если все таки Вам не достаточно, тех flf файлов, но можно подгрузить дополнительные, я бы их назвал, как эффекты начертания:

Для этого есть сайт посвященный данной утилите figlet, на нем представлено все то многообразие различных шрифтов, кое должно удовлетворить даже самых притязательных:

http://www.figlet.org/fontdb.cgi

ekzorchik@srv-serv:~$ wget -c http://www.figlet.org/fonts/stellar.flf

ekzorchik@srv-serv:~$ wget -c http://www.figlet.org/fonts/block.flf

ekzorchik@srv-serv:~$ figlet -f block.flf "ALEX" -k

Пример различного оформления ASCII текста на основе шаблонов

 

 

 

 

Довольно необычно ведь.

Можно и комбинируя передавать команды утилите figlet: (отобразим текущее время)

ekzorchik@srv-serv:~$ date +%r | figlet -f digital

+-+-+-+-+-+-+-+-+ +-+-+

|0|1|:|2|3|:|0|6| |A|M|

+-+-+-+-+-+-+-+-+ +-+-+

Вот еще один пример, автоматического обновления текущего времени в консоли с использованием выше преведенной команды:

ekzorchik@srv-serv:~$ watch --interval 1 " date +%r | figlet -f digital "

Вот собственно и все, не забывайте, что все задумки реализуемы, а имея такой конструктор, как Ubuntu система все можно воплотить в реальность. В последующих заметках я буду Вас знакомить с моими задумками, которые я реализовал. С уважением, автор блога — ekzorchik.

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru