HowTo: установка KDE 4.0 (Stable) в Ubuntu Gutsy 7.10 trickle – ограничитель скорости сетевого траффика
Mar 04


Что такое ASCII Art?

ASCII art (от англ. ASCII artwork) — форма изобразительного искусства, использующая символы ASCII на моноширинном экране компьютерного терминала (или принтера) для представления изображений. При создании такого изображения используется палитра, состоящая из буквенных, цифровых символов и символов знаков пунктуации — всего 95 символов. Ещё 160 символов обычно не используются, поскольку они отображаются в различных кодировках по-разному. Подробнее здесь.

Инсталяция

sudo apt-get install cowsay figlet

Cowsay и Cowthink

Cowsay/Cowthink – это програма, генерирующая ASCII-Корову (а также других животных, но к об этом чуть позже), в очень интересном и веселом стиле. Ну и как вы уже догадались разница между cowsay и cowthink состоит в стиле пузырей, одна говорит, вторая думает. :-)

Итак приступим:
cowsay_001.png

Это была выдача:
cowsay "Linux rockt"

Кроме этого есть еще куча опций/параметров которые позволят нам приукрасить всю картину.

Давайте попробуем следующую команду:
cowsay -f name "Primer texta"

В этом случае вы увидите Primer texta с животным name. Все доступные животные лежат в /usr/share/cowsay/cows (путь может отличаться).

ls /usr/share/cowsay/cows

У меня этот список выглядит так:
apt.cow hellokitty.cow sodomized.cow
beavis.zen.cow kiss.cow sodomized-sheep.cow
bong.cow kitty.cow stegosaurus.cow
bud-frogs.cow koala.cow stimpy.cow
bunny.cow kosh.cow supermilker.cow
cheese.cow luke-koala.cow surgery.cow
cower.cow mech-and-cow.cow telebears.cow
daemon.cow meow.cow three-eyes.cow
default.cow milk.cow turkey.cow
dragon-and-cow.cow moofasa.cow turtle.cow
dragon.cow moose.cow tux.cow
elephant.cow mutilated.cow udder.cow
elephant-in-snake.cow ren.cow vader.cow
eyes.cow satanic.cow vader-koala.cow
flaming-sheep.cow sheep.cow www.cow
ghostbusters.cow skeleton.cow
head-in.cow small.cow

Вместо name необходимо использовать один из выше перечисленных файлов без расширения .cow. К примеру:
cowthink -f tux "Linux HowTo's???"
cowthink_001.png
Еще один интересный способ персонализации нашей коровы – это изменение формы глаз. Для этого предназначенны следующие опции:
-b -d -t -y -g -p -s -w

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

Еще один способ изменения глаз:
-e "форма глаз"

Команда:
cowsay -e "oO" "linux.xlibs.net"
cowsay_002.png

Глаза необязательно должны быть семитричными, и кроме того они ограниченны всего на два символа. Поэтому эксперименты с изощренной формой глаз не получатся. А также есть еще одна неприятная особенность, опция ‘-e’ на другие животные не паспространяется и может быть использованна только в комбинации с ASCII-коровой.

И в заключении расмотрим еще одну опцию ‘-W количество столбцов’, которая указывает на то, сколько символов (столбцов) может в одной строке быть.

Если вы укажите количество столбцов равное 10, то получите 9 символов в первой строке а следующий символ будет перенесен на следующую строку.

Выдача команды:

cowsay -W 4 "Linux rockt"

будет выглядеть так:
cowsay_003.png

И в конце я не могу не упомянуть, что Cowsay написана на Perl-е, поэтому вам может быть прийдется его установить. А также если в ваше дистрибутиве cowsay отсутствует в репозиториях, тогда вы сможете ее найти здесь.

FIGlet

И так хватит пустой болтовни о корвах, давайте поговорим о FIGlet. Эта програмка помагает нам генерировать текст в ASCII формат.

Давайте расмотрим поближе:
figlet linux.xlibs.net
или
figlet "linux.xlibs.net"

figlet_001.png
Figlet расматривает все аргументы как текст для создания, и поэтому, если вы собираетесь использовать дополнительные опции, текст должен быть заключен в кавычки. Самая распространенная опция – это kerning, что означает пробел между символами. Для этого используется опция ‘-k’. Давайте расмотрим это на нижеследующем примере и посмотрим как это будет выглядеть:

figlet -k "linux howtos"
figlet_002.png
Разницу видно сразу, не так ли? Следующая опция это выравнивание текста:

  • По левому краю ‘-l’
  • По правому краю ‘-r’
  • Центрирование ‘-c’

А также для преукрашения текстов можно использовать несколько поставляемых в наборе шрифтов, имена которых вы найдете в /usr/share/figlet с расширением ‘.flf’.

Чтобы использовать какой-то определеннный шрифт, вам необходимо воспользоваться опцией ‘-f’ и использовать название шрифта без расширения. Вот как это выглядит в письменном стиле:

figlet -f script "linux howtos"
figlet_003.png

А также есть еще много других опций, примеры которых я приводить не буду, т.к. для этого созданны маны. Но напоследок приведу пример комбинации figlet и cowsay подходящей для приветствия:
figlet `echo “welcome 2 \`uname -n\`”` | cowsay -n -f tux
cowsay_figlet.png

Ссылки:
figlet.org – домашняя страничка FIGlet
schnoggo.com – сервис для создания текстов онлайн

Print This Print This

Tags: , , ,

9 Responses to “ASCII Art: cowsay и FIGlet”

  1. jetxee Says:

    Хочу заметить, что cowsay не работает с utf8, неправильно рассчитывая длину строк. Но она может говорить по-русски, если запускать в «однобайтной» локали (KOI8-R, CP1251).

  2. Инга Says:

    Прикольные результаты получаются, мне понравилось! Кто не пробывал еще, советую!

  3. Серега Says:

    Ослик – очень круто. )

  4. ZogG Says:

    jetxee,у мну с UTF-8 работает – настрой терминал на юникод =)
    а второе – чтоб получить список животных можно просто написать cowsay -l

  5. Fleurette Says:

    Сейчас и я попробую! Вы так это расхвалили!

  6. Анжела Says:

    Интересно получается – прямо цифровые животные, я собачку сделала))) (ну по крайней мере было похое на собчку). Спасибо за очень интересный материал!

  7. Kolo Says:

    Надо еще обратить внимание на опцию n у cowsay без которой портится мессадж от figlet. Каждый раз о ней забываю ;)

  8. koreshochek Says:

    Такие штуки прикольно использовать в подписях на форумах. И, главное, с помощью описанного вами метода не придется даже ничего придумывать)) Сенкс!

  9. Драйвер Says:

    Прикольная корова получилась. Позитивная такая))

Leave a Reply