ASCII 字母艺术,字母使用自己的字符

ASCII 字母艺术,字母使用自己的字符

如果我执行

banner ABC

我得到:

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

另一个程序figlet,具有更复杂的字体和连接相邻字符的机制,例如:

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

但是如果我想只使用该字母打印每个字母,即:

   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

或者更好的是,更紧凑的东西,例如:

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

?实现这一目标的最简单方法是什么?

答案1

有四种可选字体,figlet它们使用单​​ ASCII 字符字母本身来绘制这些字母的较大版本:这里alphabetletterstanja这里(相同)或这里( letter):

字母

    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 

  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  

字母

        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

塔尼娅

        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::::::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

答案2

另一种选择是使用字母带有 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 

答案3

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  

letter字体至少是 Debian 上的软件包figlet附带的字体。toilet-fonts安装该软件包后,您还可以通过figlet( figlet -f letter) 使用该字体。

答案4

(这是问题的最初答案。)

一种选择是修改 sysvbanner 的源。显然这并不算太难,这里这是。本质上只是将#'s 替换为适当的字符一次。

不过,我想要不涉及编译二进制文件的其他答案。

相关内容