Banner: Banner erzeugen


Sie sind hier: RubyBanner


ASCII-Banner

Das Tool erlaubt die Erzeugung von ASCII-Bannern. Ein übergebener Text wird in ein Textbanner umgesetzt.

Beispiel: Aus Hallo Welt wird:

XX  XX            XXX     XXX                   XX   XX           XXX      X    
XX  XX             XX      XX                   XX   XX            XX     XX    
XX  XX   XXXXX     XX      XX     XXXX          XX   XX  XXXXX     XX    XXXXX  
XXXXXX       X     XX      XX    XX  XX         XX X XX XX    X    XX     XX    
XX  XX  XXXXXX     XX      XX    XX  XX         XXXXXXX XXXXXXX    XX     XX    
XX  XX  X   XX     XX      XX    XX  XX         XXX XXX XX         XX     XX XX 
XX  XX  XXXXX X   XXXX    XXXX    XXXX          XX   XX  XXXXX    XXXX     XXX  
                                                                                

Das Progrämmchen liegt als Ruby-Gem und als ausführbares Windowsprogramm vor. (Siehe Download)

Aufruf und Parameterübersicht

Das Programm wird in einer Konsole (DOS-Box, Shell…) gerufen.

Im folgenden kommen Beispielsaufrufe mit einer kurzen Erläuterung. Statt banner.exe kann natürlich auch das im gem verpackte Skript banner.rb verwendet werden.

Ausgabebuchstaben

banner.exe Test

 TTTTTT                    t    
 T TT T                   tt    
   TT    eeeee  sssssss  ttttt  
   TT   ee    e ss        tt    
   TT   eeeeeee sssssss   tt    
   TT   ee           ss   tt tt 
  TTTT   eeeee  sssssss    ttt  
                                

banner.exe -cX

Mit -c kann der Buchstabe definiert werden, in dem der Text erzeugt wird. Im Beispiel ist dies ein X.

Ohne den Parameter wird für jeden Buchstaben der Buchstabe selbst verwendet.

 XXXXXX                    X    
 X XX X                   XX    
   XX    XXXXX  XXXXXXX  XXXXX  
   XX   XX    X XX        XX    
   XX   XXXXXXX XXXXXXX   XX    
   XX   XX           XX   XX XX 
  XXXX   XXXXX  XXXXXXX    XXX  
                                

Zeilenumbrüche

banner.exe Zeile1 Zeile2

Durch Leerzeichen getrennte Worte kommen auf neue Zeilen.

ZZZZZZZ            ii     lll              1    
Z    ZZ                    ll            111    
    ZZ   eeeee    iii      ll    eeeee    11    
   ZZ   ee    e    ii      ll   ee    e   11    
  ZZ    eeeeeee    ii      ll   eeeeeee   11    
 ZZ   Z ee         ii      ll   ee        11    
ZZZZZZZ  eeeee    iiii    llll   eeeee   1111   
                                                
ZZZZZZZ            ii     lll            2222   
Z    ZZ                    ll           22  22  
    ZZ   eeeee    iii      ll    eeeee      22  
   ZZ   ee    e    ii      ll   ee    e    22   
  ZZ    eeeeeee    ii      ll   eeeeeee   22    
 ZZ   Z ee         ii      ll   ee       22   2 
ZZZZZZZ  eeeee    iiii    llll   eeeee  2222222 
                                                

banner.exe -n/ Zeile1/Zeile2

Der Parameter -n definiert ein Zeichen, dass eine neue Zeile bewirkt. Im Beipsiel wurde / verwendet.

ZZZZZZZ            ii     lll              1    
Z    ZZ                    ll            111    
    ZZ   eeeee    iii      ll    eeeee    11    
   ZZ   ee    e    ii      ll   ee    e   11    
  ZZ    eeeeeee    ii      ll   eeeeeee   11    
 ZZ   Z ee         ii      ll   ee        11    
ZZZZZZZ  eeeee    iiii    llll   eeeee   1111   
                                                
ZZZZZZZ            ii     lll            2222   
Z    ZZ                    ll           22  22  
    ZZ   eeeee    iii      ll    eeeee      22  
   ZZ   ee    e    ii      ll   ee    e    22   
  ZZ    eeeeeee    ii      ll   eeeeeee   22    
 ZZ   Z ee         ii      ll   ee       22   2 
ZZZZZZZ  eeeee    iiii    llll   eeeee  2222222 
                                                

banner.exe -n/ Zeile1 Zeile2

Soll kein Zeilenumbruch an Leerstellen erfolgen, so kann man einfach ein im Ausgabetext nicht verwendetes Zeichen als Zeilentrenner verwenden.

Der Umbruch findet dann nach etwa 72 Zeichen statt.

ZZZZZZZ            ii     lll              1            ZZZZZZZ            ii   
Z    ZZ                    ll            111            Z    ZZ                 
    ZZ   eeeee    iii      ll    eeeee    11                ZZ   eeeee    iii   
   ZZ   ee    e    ii      ll   ee    e   11               ZZ   ee    e    ii   
  ZZ    eeeeeee    ii      ll   eeeeeee   11              ZZ    eeeeeee    ii   
 ZZ   Z ee         ii      ll   ee        11             ZZ   Z ee         ii   
ZZZZZZZ  eeeee    iiii    llll   eeeee   1111           ZZZZZZZ  eeeee    iiii  
                                                                                
  lll            2222   
   ll           22  22  
   ll    eeeee      22  
   ll   ee    e    22   
   ll   eeeeeee   22    
   ll   ee       22   2 
  llll   eeeee  2222222 
                        

banner.exe -n/ -w120 Zeile1 Zeile2

Soll kein automatischer Zeilenumbruch nach 72 Zeichen stattfinden, so kann man es mit dem Parameter -w erweitern.

ZZZZZZZ            ii     lll              1            ZZZZZZZ            ii     lll            2222   
Z    ZZ                    ll            111            Z    ZZ                    ll           22  22  
    ZZ   eeeee    iii      ll    eeeee    11                ZZ   eeeee    iii      ll    eeeee      22  
   ZZ   ee    e    ii      ll   ee    e   11               ZZ   ee    e    ii      ll   ee    e    22   
  ZZ    eeeeeee    ii      ll   eeeeeee   11              ZZ    eeeeeee    ii      ll   eeeeeee   22    
 ZZ   Z ee         ii      ll   ee        11             ZZ   Z ee         ii      ll   ee       22   2 
ZZZZZZZ  eeeee    iiii    llll   eeeee   1111           ZZZZZZZ  eeeee    iiii    llll   eeeee  2222222 
                                                                                                        

Hilfe

banner.exe -h

Mit -h wird ein Hilfetext ausgegeben

Usage: banner.rb [options] Text
Build ASCII-art like text banners
    -c, --char CHAR                  Character for banner
    -n, --newline CHAR               Character for newline, Default space
    -w, --width WIDTH                Define line width
    -s, --space                      Don't suppress spaces after newline

Weitere Ideen

Banner könnte noch erweitert werden. Im folgenden einige Ideen und deren Realisierungswahrscheinlichkeit.

Generell gilt, das das Banner jetzt schon etwas mehr macht als ich ursprünglich wollte. Von meiner Seite besteht kein weiterer Entwicklungsbedarf. Sollte es Bedarf geben könnte es allerdings ein kleiner Motivationsschub für mich sein und ich mache mich evtl. an eine Umsetzung.

Verschiedene Fonts

Ausgabe in verschiedenen im System vorhandenen Fonts.

⇒ Keine Realisierung geplant

Proportional/Nichtproportional

Aktuell sind die meisten Zeichen in der Ausgabe 9 Zeichen breit. Einige werden schmaller ausgegeben (hauptsächlich Sonderzeichen wie !,.()[]….

Man könnte die Buchstaben jeweils einzeln anpassen und z.B. das i auch schmaller setzen.

⇒ Parameter -p vorgesehen, Implementation eher nein.

Sonderzeichen

Welches fehlt und wird benötigt?

Unicode

Nicht geplant, aber evtl. wird das mal eine kleine Spielwiese für mich wenn ich mich ernsthaft mit Unicode beschäftige.

Aber die komplette Unicode-Tabelle wird garantiert nicht umgesetzt ;-)

⇒ Aktuell keine Realisierung geplant

Rahmen

Man könnte die Texte in Rahmen setzen.

⇒ Aktuell keine Realisierung geplant

Download