ASCII искусство букв с буквами, использующими собственные персонажи

Если я выполняю

banner ABC 

Я получил:

  # ###### ##### # # # # # # # # # # # # # ###### # ####### # # # # # # # # # # # ###### ##### 

и другая программа, figlet , имеет более сложные шрифты и механизмы для соединения соседних символов, например:

  _ ____ ____ / \ | __ ) / ___| / _ \ | _ \| | / ___ \| |_) | |___ /_/ \_\____/ \____| 

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

  A BBBBBB CCCCC AABBCC AABBC AA BBBBBB C AAAAAAA BBC AABBCC AA BBBBBB CCCCC 

или еще лучше, что-то более компактное, например:

  A BBBB CCCC AABBCAA BBBB C AAAAA BBCAA BBBB CCCC 

? Каков самый простой способ сделать это?

    Есть четыре необязательных шрифта для figlet которые figlet используют буквы одного ASCII-символа для рисования более крупных версий этих букв: здесь ( alphabet , letters и tanja ) здесь (то же) или здесь ( letter ):

    алфавит

      b AA BBBB CCC b AABBC aa bbb ccc AAAA BBBB C aabbc AABBC aaa bbb ccc AA BBBB CCC 

    письмо

      A BBBB CCC A BBBB CCC AABBCCAABBCC AAAAA BBBB C AAAAA BBBB CAABBCCAABBCCAA BBBB CCC AA BBBB CCC 

    буквы

      bb AAA BBBBB CCCCC aa aa bb cccc AAAAA BB B CC C aa aaa bbbbbb cc AA AA BBBBBB CC aa aaa bb bb cc AAAAAAA BB BB CC C aaa aa bbbbbb ccccc AA AA BBBBBB CCCCC 

    Tanja

      b) A)aa B)bbbb C)ccc b) A) aa B) bb C) cc a)AAAA b)BBBB c)CCCC A) aa B)bbbb C) a)AAA b) BB c) A)aaaaaa B) bb C) a) A b) BB c) A) aa B) bb C) cc a)AAAA b)BBBB c)CCCC A) aa B)bbbbb C)ccc 

    И, может быть, doh

     $ figlet -f doh abcABC bbbbbbbb b::::::bb::::::bb::::::bb:::::b aaaaaaaaaaaaa b:::::bbbbbbbbb cccccccccccccccc a::::::::::::ab::::::::::::::bb cc:::::::::::::::c aaaaaaaaa:::::ab::::::::::::::::bc:::::::::::::::::c a::::ab:::::bbbbb:::::::bc:::::::cccccc:::::c aaaaaaa:::::ab:::::bb::::::bc::::::c ccccccc aa::::::::::::ab:::::bb:::::bc:::::ca::::aaaa::::::ab:::::bb:::::bc:::::ca::::aa:::::ab:::::bb:::::bc::::::c ccccccc a::::aa:::::ab:::::bbbbbb::::::bc:::::::cccccc:::::c a:::::aaaa::::::ab::::::::::::::::bc:::::::::::::::::c a::::::::::aa:::ab:::::::::::::::b cc:::::::::::::::c aaaaaaaaaa aaaabbbbbbbbbbbbbbbb cccccccccccccccc AAA BBBBBBBBBBBBBBBBB CCCCCCCCCCCCC A:::AB::::::::::::::::B CCC::::::::::::C A:::::AB::::::BBBBBB:::::B CC:::::::::::::::C A:::::::A BB:::::BB:::::BC:::::CCCCCCCC::::C A:::::::::AB::::BB:::::BC:::::C CCCCCC A:::::A:::::AB::::BB:::::BC:::::CA:::::AA:::::AB::::BBBBBB:::::BC:::::CA:::::AA:::::AB:::::::::::::BB C:::::CA:::::AA:::::AB::::BBBBBB:::::BC:::::CA:::::AAAAAAAAA:::::AB::::BB:::::BC:::::CA:::::::::::::::::::::AB::::BB:::::BC:::::CA:::::AAAAAAAAAAAAA:::::AB::::BB:::::BC:::::C CCCCCC A:::::AA:::::A BB:::::BBBBBB::::::BC:::::CCCCCCCC::::C A:::::AA:::::AB:::::::::::::::::B CC:::::::::::::::C A:::::AA:::::AB::::::::::::::::B CCC::::::::::::C AAAAAAA AAAAAAABBBBBBBBBBBBBBBBB CCCCCCCCCCCCC 

    Другой вариант – использовать шрифт алфавита с FIGlet:

     $ wget http://www.figlet.org/fonts/alphabet.flf $ figlet -f alphabet.flf ABC AA BBBB CCC AABBC AAAA BBBB CAABBCAA BBBB CCC 

    С toilet :

     $ toilet -f letter ABC A BBBB CCC AABBCC AAAAA BBBB CAABBCCAA BBBB CCC 

    Этот шрифт letter является шрифтом figlet который поставляется с пакетом toilet-fonts на Debian по крайней мере. После того, как этот пакет установлен, вы также можете использовать этот шрифт с figlet ( figlet -f letter ).

    (Это был первоначальный ответ на вопрос.)

    Один из вариантов – изменить источник sysvbanner. Видимо, это не слишком сложно, вот оно. По существу, просто заменяя # на соответствующие символы, один раз.

    Я бы хотел получить другие ответы, которые не связаны с компиляцией двоичного файла.