banner command

This page implements the COHERENT banner command. The manual page is here. The original source banner.c, datestamped 10/09/90, defines function banner() but has no main(), so I wrote a trivial banner_main.c wrapper for it. The source for this page recodes banner from C to PHP, of course, but it uses the original bitmap and produces output identical to the original.

I remember banner fondly because lineprinter output jobs at Mark Williams Company were separated by banner pages giving the user's name.

COHERENT banner renders each letter as a 5x7 grid (space-padded to 8x9) using the letter itself, a nice touch. It takes command-line args or reads from stdin. Cygwin banner renders each letter as a 7x9 grid (space-padded to 8x13) using 'x'. A command line option lets you change the output character, but it has no option to read from stdin. OSX banner renders much larger (and very handsome!) letters with '#'. It takes an optional width argument and produces a single line of vertical output.

Enter a word or phrase (e.g., "hello world"):

  h                ll      ll           
  h                 l       l           
  hhhh     eee      l       l      ooo  
  h   h   e   e     l       l     o   o 
  h   h   eeeee     l       l     o   o 
  h   h   e         l       l     o   o 
  h   h    eee     lll     lll     ooo  
                           ll         d 
                            l         d 
  w   w    ooo    r rr      l      dddd 
  w   w   o   o   rr  r     l     d   d 
  w w w   o   o   r         l     d   d 
  w w w   o   o   r         l     d   d 
   w w     ooo    r        lll     dddd