5 kx /*****************************************************************
5 kx *
5 kx * SYSVbanner.c
5 kx *
5 kx * This is a PD version of the SYS V banner program (at least I think
5 kx * it is compatible to SYS V) which I wrote to use with the clock
5 kx * program written by:
5 kx ** DCF, Inc.
5 kx ** 14623 North 49th Place
5 kx ** Scottsdale, AZ 85254
5 kx * and published in the net comp.sources.misc newsgroup in early July
5 kx * since the BSD banner program works quite differently.
5 kx *
5 kx * There is no copyright or responsibility accepted for the use
5 kx * of this software.
5 kx *
5 kx * Brian Wallis, brw@jim.odr.oz, 4 July 1988
5 kx *
5 kx *****************************************************************/
5 kx
5 kx #include <stdlib.h>
5 kx #include <stdio.h>
5 kx #include <string.h>
5 kx
5 kx char *glyphs[] = {
5 kx " ### ### ### # # ##### ### # ## ### ",
5 kx " ### ### ### # # # # ## # # # # ### ",
5 kx " ### # # ######## # ### # ## # ",
5 kx " # # # ##### # ### # ",
5 kx " ####### # # # #### # # ",
5 kx " ### # # # # # # # ## # ",
5 kx " ### # # ##### # ### #### # ",
5 kx
5 kx " ## ## #",
5 kx " # # # # # # ",
5 kx " # # # # # # ",
5 kx " # # ####### ##### ### ##### # ",
5 kx " # # # # # ### ### # ",
5 kx " # # # # # # ### # ",
5 kx " ## ## # ### # ",
5 kx
5 kx " ### # ##### ##### # ####### ##### #######",
5 kx " # # ## # ## ## # # # ## # ",
5 kx "# # # # # ## # # # # ",
5 kx "# # # ##### ##### # # ###### ###### # ",
5 kx "# # # # ######## ## # # ",
5 kx " # # # # # # # # ## # # ",
5 kx " ### ##### ####### ##### # ##### ##### # ",
5 kx
5 kx " ##### ##### # ### # # ##### ",
5 kx "# ## # ### ### # # # #",
5 kx "# ## # # # ##### # #",
5 kx " ##### ###### ### # # ## ",
5 kx "# # # # ### # ##### # # ",
5 kx "# ## # ### # # # ",
5 kx " ##### ##### # # # # # ",
5 kx
5 kx " ##### # ###### ##### ###### ############## ##### ",
5 kx "# # # # # ## ## ## # # #",
5 kx "# ### # # # # ## # ## # # ",
5 kx "# # # ## ####### # # ###### ##### # ####",
5 kx "# #### ######## ## # ## # # #",
5 kx "# # ## ## ## ## # # #",
5 kx " ##### # ####### ##### ###### ######## ##### ",
5 kx
5 kx "# # ### ## # # # ## ########",
5 kx "# # # ## # # ## #### ## #",
5 kx "# # # ## # # # # # ## # ## #",
5 kx "####### # #### # # # ## # ## #",
5 kx "# # # # ## # # # ## # ## #",
5 kx "# # # # ## # # # ## ### #",
5 kx "# # ### ##### # # ######## ## ########",
5 kx
5 kx "###### ##### ###### ##### ######## ## ## #",
5 kx "# ## ## ## # # # ## ## # #",
5 kx "# ## ## ## # # ## ## # #",
5 kx "###### # ####### ##### # # ## ## # #",
5 kx "# # # ## # # # # # # # # # #",
5 kx "# # # # # # # # # # # # # # #",
5 kx "# #### ## # ##### # ##### # ## ## ",
5 kx
5 kx "# ## ######## ##### # ##### # ",
5 kx " # # # # # # # # # # ",
5 kx " # # # # # # # # # # ",
5 kx " # # # # # # ",
5 kx " # # # # # # # ",
5 kx " # # # # # # # ",
5 kx "# # # ####### ##### # ##### #######",
5 kx
5 kx " ### ",
5 kx " ### ## ##### #### ##### ###### ###### #### ",
5 kx " # # # # # # # # # # # # #",
5 kx " # # # ##### # # # ##### ##### # ",
5 kx " ###### # # # # # # # # ###",
5 kx " # # # # # # # # # # # #",
5 kx " # # ##### #### ##### ###### # #### ",
5 kx
5 kx " ",
5 kx " # # # # # # # # # # # #### ",
5 kx " # # # # # # # ## ## ## # # #",
5 kx " ###### # # #### # # ## # # # # # #",
5 kx " # # # # # # # # # # # # # #",
5 kx " # # # # # # # # # # # ## # #",
5 kx " # # # #### # # ###### # # # # #### ",
5 kx
5 kx " ",
5 kx " ##### #### ##### #### ##### # # # # # #",
5 kx " # # # # # # # # # # # # # #",
5 kx " # # # # # # #### # # # # # # #",
5 kx " ##### # # # ##### # # # # # # # ## #",
5 kx " # # # # # # # # # # # # ## ##",
5 kx " # ### # # # #### # #### ## # #",
5 kx
5 kx " ### # ### ## # # # #",
5 kx " # # # # ###### # # # # # # # # # ",
5 kx " # # # # # # # # ## # # # #",
5 kx " ## # # ## ## # # # ",
5 kx " ## # # # # # # # # #",
5 kx " # # # # # # # # # # ",
5 kx " # # # ###### ### # ### # # # #"};
5 kx
5 kx
5 kx int main(argc,argv)
5 kx int argc;
5 kx unsigned char *argv[];
5 kx {
5 kx int a,b,c,len,ind;
5 kx char line[80];
5 kx
5 kx for(argv++;--argc;argv++){
5 kx len=strlen((const char *) *argv);
5 kx if(len>10)
5 kx len=10;
5 kx for(a=0;a<7;a++){
5 kx for(b=0;b<len;b++){
5 kx if((ind=(*argv)[b]-' ') < 0 || ind > 95)
5 kx ind=0;
5 kx for(c=0;c<7;c++){
5 kx line[b*8+c] = glyphs[(ind/8*7)+a][(ind%8*7)+c];
5 kx }
5 kx line[b*8+7] = ' ';
5 kx }
5 kx for(b=len*8-1;b>=0;b--){
5 kx if(line[b]!=' ')
5 kx break;
5 kx line[b]='\0';
5 kx }
5 kx puts(line);
5 kx }
5 kx puts("");
5 kx }
5 kx return(0);
5 kx }