ASCII art of letters, with the letters using their own characters

If I execute

banner ABC

I get:

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

and another program, figlet, has more elaborate fonts and mechanisms for joining adjacent characters, e.g.:

    _    ____   ____ 
   /   | __ ) / ___|
  / _  |  _ | |    
 / ___ | |_) | |___ 
/_/   _____/ ____|

but what if I want to have each letter printed using just that letter, i.e.:

   A    BBBBBB   CCCCC
  A A   B     B C     C
 A   A  B     B C
A     A BBBBBB  C
AAAAAAA B     B C
A     A B     B C     C
A     A BBBBBB   CCCCC

or better yet, something more compact, like:

  A    BBBB   CCCC 
 A A   B   B C     
A   A  BBBB  C     
AAAAA  B   B C     
A   A  BBBB   CCCC 

? What’s the simplest way to make that happen?

Asked By: einpoklum

||

(This was the initial answer to the question.)

One option would be to modify the source of sysvbanner. Apparently that’s not too difficult, here it is. Essentially just replacing #‘s with the appropriate characters, once.

I would like other answers that doesn’t involve compiling a binary, though.

Answered By: einpoklum

Another option is to use the alphabet font with FIGlet:

$ wget http://www.figlet.org/fonts/alphabet.flf
$ figlet -f alphabet.flf ABC
 AA  BBBB   CCC 
A  A B   B C    
AAAA BBBB  C    
A  A B   B C    
A  A BBBB   CCC 
Answered By: Stephen Kitt

With toilet:

$ toilet -f letter ABC
  A   BBBB   CCC  
 A A  B   B C   C 
AAAAA BBBB  C     
A   A B   B C   C 
A   A BBBB   CCC  

That letter font is a figlet font that comes with the toilet-fonts package on Debian at least. After that package is installed, you can also use that font with figlet (figlet -f letter).

Answered By: Stéphane Chazelas

There are four optional fonts for figlet which use the single-ASCII-character letters themselves to draw larger versions of these letter: Either here (alphabet, letters and tanja) here (same) or here (letter):

alphabet

    b          AA  BBBB   CCC 
    b         A  A B   B C    
 aa bbb   ccc AAAA BBBB  C    
a a b  b c    A  A B   B C    
aaa bbb   ccc A  A BBBB   CCC 

letter

  A   BBBB   CCC    A   BBBB   CCC  
 A A  B   B C   C  A A  B   B C   C 
AAAAA BBBB  C     AAAAA BBBB  C     
A   A B   B C   C A   A B   B C   C 
A   A BBBB   CCC  A   A BBBB   CCC  

letters

        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

And maybe doh

$ figlet -f doh abcABC
                 bbbbbbbb                                
                 b::::::b                                
                 b::::::b                                
                 b::::::b                                
                  b:::::b                                
  aaaaaaaaaaaaa   b:::::bbbbbbbbb        cccccccccccccccc
  a::::::::::::a  b::::::::::::::bb    cc:::::::::::::::c
  aaaaaaaaa:::::a b::::::::::::::::b  c:::::::::::::::::c
           a::::a b:::::bbbbb:::::::bc:::::::cccccc:::::c
    aaaaaaa:::::a b:::::b    b::::::bc::::::c     ccccccc
  aa::::::::::::a b:::::b     b:::::bc:::::c             
 a::::aaaa::::::a b:::::b     b:::::bc:::::c             
a::::a    a:::::a b:::::b     b:::::bc::::::c     ccccccc
a::::a    a:::::a b:::::bbbbbb::::::bc:::::::cccccc:::::c
a:::::aaaa::::::a b::::::::::::::::b  c:::::::::::::::::c
 a::::::::::aa:::ab:::::::::::::::b    cc:::::::::::::::c
  aaaaaaaaaa  aaaabbbbbbbbbbbbbbbb       cccccccccccccccc

               AAA               BBBBBBBBBBBBBBBBB           CCCCCCCCCCCCC
              A:::A              B::::::::::::::::B       CCC::::::::::::C
             A:::::A             B::::::BBBBBB:::::B    CC:::::::::::::::C
            A:::::::A            BB:::::B     B:::::B  C:::::CCCCCCCC::::C
           A:::::::::A             B::::B     B:::::B C:::::C       CCCCCC
          A:::::A:::::A            B::::B     B:::::BC:::::C              
         A:::::A A:::::A           B::::BBBBBB:::::B C:::::C              
        A:::::A   A:::::A          B:::::::::::::BB  C:::::C              
       A:::::A     A:::::A         B::::BBBBBB:::::B C:::::C              
      A:::::AAAAAAAAA:::::A        B::::B     B:::::BC:::::C              
     A:::::::::::::::::::::A       B::::B     B:::::BC:::::C              
    A:::::AAAAAAAAAAAAA:::::A      B::::B     B:::::B C:::::C       CCCCCC
   A:::::A             A:::::A   BB:::::BBBBBB::::::B  C:::::CCCCCCCC::::C
  A:::::A               A:::::A  B:::::::::::::::::B    CC:::::::::::::::C
 A:::::A                 A:::::A B::::::::::::::::B       CCC::::::::::::C
AAAAAAA                   AAAAAAABBBBBBBBBBBBBBBBB           CCCCCCCCCCCCC
Answered By: user232326
Categories: Answers Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.