abcscnuk@csun.UUCP (Naoto Kimura) (07/21/87)
I kinda got tired of using the banner program, so I decided to write one of my own. I suppose someone has already posted one, but I decided to post anyway. Output of banner: (note lack of lowercase -- lower case is really smaller version of upper case letters ) # ###### ##### # # ## # # ##### # # #### # # # # # # # # # # # # # # # ###### ##### # # ####### ###### # # # # # # # # # # # # # # # # # # # # # # ###### ##### ##### #### Output of my program: @@@ @@@@@@@@ @ @@@@@ @ @ @ @ @ @ @ @ @ @@@@@@ @ @ @ @@@@@ @ @ @@@@@ @ @ @ @@@@@@@@ @@ @ @ @ @ @@@@@@@@@ @@@@@@@ @ @ @ @ @ @ @ @ @ @ @@ @ @ @@ @ @ @ @ @ @ @ @@@@@ @@ @@@@@@@@ @ @@@@@ @@@@@ @@@@@ //-n-\\ Naoto Kimura _____---=======---_____ (csun!abcscnuk) ====____\ /.. ..\ /____==== // ---\__O__/--- \\ Enterprise... Surrender or we'll \_\ /_/ send back your *&^$% tribbles !! ------ cut here ------ cut here ------ cut here ------ cut here ------ #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # block # This archive created: Mon Jul 20 00:13:03 1987 export PATH; PATH=/bin:$PATH if test ! -d 'block' then echo shar: creating directory "'block'" mkdir 'block' fi echo shar: entering directory "'block'" cd 'block' echo shar: extracting "'data.c'" '(19204 characters)' if test -f 'data.c' then echo shar: will not over-write existing file "'data.c'" else sed 's/^ X//' << \SHAR_EOF > 'data.c' Xchar *data[][10] = { X { /* ^@ */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^A */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^B */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^C */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^D */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^E */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^F */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^G */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^H */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^I */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^J */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^K */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^L */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^M */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^N */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^O */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^P */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^Q */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^R */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^S */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^T */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^U */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^V */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^W */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^X */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^Y */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^Z */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^[ */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^\ */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^] */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^^ */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* ^_ */ X "", "", "", "", "", "", "", "", "", "", X }, X { /* *SPC* */ X " ", X " ", X " ", X " ", X " ", X " ", X " ", X " ", X " ", X " " X }, X { /* ! */ X "@@@", X "@@@", X "@@@", X " @ ", X " ", X "@@@", X "@@@", X " ", X " ", X " " X }, X { /* " */ X "@@@ @@@", X "@@@ @@@", X " @ @ ", X "@ @ ", X " ", X " ", X " ", X " ", X " ", X " " X }, X { /* # */ X " ", X " @ @ ", X "@@@@@@@@@", X " @ @ ", X "@@@@@@@@@", X " @ @ ", X " ", X " ", X " ", X " " X }, X { /* $ */ X " @ ", X " @@@@@@@ ", X "@ @ ", X " @@@@@@@ ", X " @ @", X " @@@@@@@ ", X " @ ", X " ", X " ", X " " X }, X { /* % */ X "@@ @", X "@@ @ ", X " @ ", X " @ ", X " @ ", X " @ @@", X "@ @@", X " ", X " ", X " " X }, X { /* & */ X " @@@ ", X "@ @ ", X " @ @ ", X " @@ ", X " @ @ @", X "@ @ ", X " @@@@ @", X " ", X " ", X " " X }, X { /* ' */ X "@@@", X "@@@", X " @ ", X "@ ", X " ", X " ", X " ", X " ", X " ", X " " X }, X { /* ( */ X " @", X " @ ", X "@ ", X "@ ", X "@ ", X " @ ", X " @", X " ", X " ", X " " X }, X { /* ) */ X "@ ", X " @ ", X " @", X " @", X " @", X " @ ", X "@ ", X " ", X " ", X " " X }, X { /* * */ X " @ ", X "@ @ @", X " @ @ @ ", X " @@@ ", X " @ @ @ ", X "@ @ @", X " @ ", X " ", X " ", X " " X }, X { /* + */ X " ", X " @ ", X " @ ", X "@@@@@@@@@", X " @ ", X " @ ", X " ", X " ", X " ", X " " X }, X { /* , */ X " ", X " ", X " ", X " ", X " ", X "@@@", X "@@@", X " @ ", X "@ ", X " " X }, X { /* - */ X " ", X " ", X " ", X "@@@@@@@@@", X " ", X " ", X " ", X " ", X " ", X " " X }, X { /* . */ X " ", X " ", X " ", X " ", X " ", X "@@@", X "@@@", X " ", X " ", X " " X }, X { /* / */ X " @", X " @ ", X " @ ", X " @ ", X " @ ", X " @ ", X "@ ", X " ", X " ", X " " X }, X { /* 0 */ X " @@@@@ ", X " @ @@ ", X "@ @ @", X "@ @ @", X "@ @ @", X " @@ @ ", X " @@@@@ ", X " ", X " ", X " " X }, X { /* 1 */ X " @ ", X "@@ ", X " @ ", X " @ ", X " @ ", X " @ ", X "@@@", X " ", X " ", X " " X }, X { /* 2 */ X " @@@@@@@ ", X "@ @", X " @", X " @@@@@@ ", X " @ ", X "@ ", X "@@@@@@@@@", X " ", X " ", X " " X }, X { /* 3 */ X " @@@@@@@ ", X "@ @", X " @", X " @@@@@@ ", X " @", X "@ @", X " @@@@@@@ ", X " ", X " ", X " " X }, X { /* 4 */ X " @@@@ ", X " @ @ ", X " @ @ ", X "@ @ ", X "@@@@@@@@@", X " @ ", X " @ ", X " ", X " ", X " " X }, X { /* 5 */ X "@@@@@@@@@", X "@ ", X "@@@@@@@@ ", X " @", X " @", X "@ @", X " @@@@@@@ ", X " ", X " ", X " " X }, X { /* 6 */ X " @@@@@@@ ", X "@ @", X "@ ", X "@@@@@@@@ ", X "@ @", X "@ @", X " @@@@@@@ ", X " ", X " ", X " " X }, X { /* 7 */ X "@@@@@@@@@", X " @ ", X " @ ", X " @ ", X " @ ", X " @ ", X " @ ", X " ", X " ", X " " X }, X { /* 8 */ X " @@@@@@@ ", X "@ @", X "@ @", X " @@@@@@@ ", X "@ @", X "@ @", X " @@@@@@@ ", X " ", X " ", X " " X }, X { /* 9 */ X " @@@@@@@ ", X "@ @", X "@ @", X " @@@@@@@@", X " @", X "@ @", X " @@@@@@@ ", X " ", X " ", X " " X }, X { /* : */ X " ", X " ", X "@@@", X "@@@", X " ", X "@@@", X "@@@", X " ", X " ", X " " X }, X { /* ; */ X " ", X " ", X "@@@", X "@@@", X " ", X "@@@", X "@@@", X " @ ", X "@ ", X " " X }, X { /* < */ X " @@", X " @@ ", X " @@ ", X "@@ ", X " @@ ", X " @@ ", X " @@", X " ", X " ", X " " X }, X { /* = */ X " ", X " ", X " ", X "@@@@@@@@@", X " ", X "@@@@@@@@@", X " ", X " ", X " ", X " ", X }, X { /* > */ X "@@ ", X " @@ ", X " @@ ", X " @@", X " @@ ", X " @@ ", X "@@ ", X " ", X " ", X " " X }, X { /* ? */ X " @@@@@@@ ", X "@ @", X " @", X " @@@@ ", X " @ ", X " ", X " @ ", X " ", X " ", X " " X }, X { /* @ */ X " @@@@@@@ ", X "@ @", X "@ @@@ @", X "@ @ @ @", X "@ @@@@@ ", X "@ ", X " @@@@@@@ ", X " ", X " ", X " " X }, X { /* A */ X " @@@ ", X " @ @ ", X " @ @ ", X "@ @", X "@@@@@@@@@", X "@ @", X "@ @", X " ", X " ", X " " X }, X { /* B */ X "@@@@@@@@ ", X "@ @", X "@ @", X "@@@@@@@@ ", X "@ @", X "@ @", X "@@@@@@@@ ", X " ", X " ", X " " X }, X { /* C */ X " @@@@@ ", X " @ @ ", X "@ @", X "@ ", X "@ @", X " @ @ ", X " @@@@@ ", X " ", X " ", X " " X }, X { /* D */ X "@@@@@@@ ", X "@ @ ", X "@ @", X "@ @", X "@ @", X "@ @ ", X "@@@@@@@ ", X " ", X " ", X " " X }, X { /* E */ X "@@@@@@@@@", X "@ ", X "@ ", X "@@@@@@@ ", X "@ ", X "@ ", X "@@@@@@@@@", X " ", X " ", X " " X }, X { /* F */ X "@@@@@@@@@", X "@ ", X "@ ", X "@@@@@@@ ", X "@ ", X "@ ", X "@ ", X " ", X " ", X " " X }, X { /* G */ X " @@@@@@ ", X " @ @", X "@ ", X "@ @@@@", X "@ @", X " @ @@", X " @@@@@ @", X " ", X " ", X " " X }, X { /* H */ X "@ @", X "@ @", X "@ @", X "@@@@@@@@@", X "@ @", X "@ @", X "@ @", X " ", X " ", X " " X }, X { /* I */ X "@@@@@", X " @ ", X " @ ", X " @ ", X " @ ", X " @ ", X "@@@@@", X " ", X " ", X " " X }, X { /* J */ X " @@@", X " @ ", X " @ ", X " @ ", X "@ @ ", X " @ @ ", X " @@@@ ", X " ", X " ", X " " X }, X { /* K */ X "@ @", X "@ @ ", X "@ @ ", X "@@@@@@ ", X "@ @ ", X "@ @ ", X "@ @", X " ", X " ", X " " X }, X { /* L */ X "@ ", X "@ ", X "@ ", X "@ ", X "@ ", X "@ ", X "@@@@@@@@@", X " ", X " ", X " " X }, X { /* M */ X "@ @", X "@@ @@", X "@ @ @ @", X "@ @ @ @", X "@ @ @", X "@ @", X "@ @", X " ", X " ", X " " X }, X { /* N */ X "@ @", X "@@ @", X "@ @ @", X "@ @ @", X "@ @ @", X "@ @ @", X "@ @@", X " ", X " ", X " " X }, X { /* O */ X " @@@@@ ", X " @ @ ", X "@ @", X "@ @", X "@ @", X " @ @ ", X " @@@@@ ", X " ", X " ", X " " X }, X { /* P */ X "@@@@@@@@ ", X "@ @", X "@ @", X "@@@@@@@@ ", X "@ ", X "@ ", X "@ ", X " ", X " ", X " " X }, X { /* Q */ X " @@@@@ ", X " @ @ ", X "@ @", X "@ @", X "@ @ @", X " @ @ ", X " @@@@@ @", X " ", X " ", X " " X }, X { /* R */ X "@@@@@@@@ ", X "@ @", X "@ @", X "@@@@@@@@ ", X "@ @ ", X "@ @ ", X "@ @", X " ", X " ", X " " X }, X { /* S */ X " @@@@@@@ ", X "@ @", X "@ ", X " @@@@@@@ ", X " @", X "@ @", X " @@@@@@@ ", X " ", X " ", X " " X }, X { /* T */ X "@@@@@@@@@", X " @ ", X " @ ", X " @ ", X " @ ", X " @ ", X " @ ", X " ", X " ", X " " X }, X { /* U */ X "@ @", X "@ @", X "@ @", X "@ @", X "@ @", X " @ @ ", X " @@@@@ ", X " ", X " ", X " " X }, X { /* V */ X "@ @", X "@ @", X "@ @", X "@ @", X " @ @ ", X " @ @ ", X " @@@ ", X " ", X " ", X " " X }, X { /* W */ X "@ @", X "@ @", X "@ @ @", X "@ @ @ @", X "@ @ @ @", X "@@ @@", X "@ @", X " ", X " ", X " " X }, X { /* X */ X "@ @", X " @ @ ", X " @ @ ", X " @@@ ", X " @ @ ", X " @ @ ", X "@ @", X " ", X " ", X " " X }, X { /* Y */ X "@ @", X " @ @ ", X " @ @ ", X " @ @ ", X " @ ", X " @ ", X " @ ", X " ", X " ", X " " X }, X { /* Z */ X "@@@@@@@@@", X " @ ", X " @@ ", X " @ ", X " @@ ", X " @ ", X "@@@@@@@@@", X " ", X " ", X " " X }, X { /* [ */ X "@@@@@", X "@ ", X "@ ", X "@ ", X "@ ", X "@ ", X "@@@@@", X " ", X " ", X " " X }, X { /* \ */ X "@ ", X " @ ", X " @ ", X " @ ", X " @ ", X " @ ", X " @", X " ", X " ", X " " X }, X { /* ] */ X "@@@@@", X " @", X " @", X " @", X " @", X " @", X "@@@@@", X " ", X " ", X " " X }, X { /* ^ */ X " @ ", X " @ @ ", X " @ @ ", X "@ @", X " ", X " ", X " ", X " ", X " ", X " " X }, X { /* _ */ X " ", X " ", X " ", X " ", X " ", X " ", X "@@@@@@@@@", X " ", X " ", X " " X }, X { /* ` */ X "@@@", X "@@@", X " @ ", X " @", X " ", X " ", X " ", X " ", X " ", X " " X }, X X { /* a */ X " ", X " ", X " @@@@@@ ", X " @ ", X " @@@@@@@ ", X "@ @@ ", X " @@@@@ @@", X " ", X " ", X " " X }, X { /* b */ X "@ ", X "@ ", X "@ @@@@@ ", X "@@ @ ", X "@ @", X "@@ @ ", X "@ @@@@@ ", X " ", X " ", X " " X }, X { /* c */ X " ", X " ", X " @@@@@ ", X "@ @", X "@ ", X "@ @", X " @@@@@ ", X " ", X " ", X " " X }, X { /* d */ X " @", X " @", X " @@@@@ @", X " @ @@", X "@ @", X " @ @@", X " @@@@@ @", X " ", X " ", X " " X }, X { /* e */ X " ", X " ", X " @@@@@@@ ", X "@ @", X "@@@@@@@@@", X "@ ", X " @@@@@@@ ", X " ", X " ", X " " X }, X { /* f */ X " @@ ", X " @ @", X " @ ", X "@@@@@", X " @ ", X " @ ", X " @ ", X " ", X " ", X " " X }, X { /* g */ X " ", X " ", X " @@@@ @", X "@ @@", X "@ @", X "@ @@", X " @@@@ @", X " @", X " @", X " @@@@@ " X }, X { /* h */ X "@ ", X "@ ", X "@ @@@@@ ", X "@@ @", X "@ @", X "@ @", X "@ @", X " ", X " ", X " " X }, X { /* i */ X " ", X "@ ", X " ", X "@ ", X "@ ", X "@ @", X " @@ ", X " ", X " ", X " " X }, X { /* j */ X " ", X " @", X " ", X " @", X " @", X " @", X " @", X "@ @", X " @ @ ", X " @@@@ " X }, X { /* k */ X "@ ", X "@ ", X "@ @", X "@ @ ", X "@@@@ ", X "@ @ ", X "@ @", X " ", X " ", X " " X }, X { /* l */ X "@@ ", X " @ ", X " @ ", X " @ ", X " @ ", X " @ ", X "@@@", X " ", X " ", X " " X }, X { /* m */ X " ", X " ", X "@ @@ @@@ ", X "@@ @ @", X "@ @ @", X "@ @ @", X "@ @ @", X " ", X " ", X " " X }, X { /* n */ X " ", X " ", X "@ @@@@@ ", X "@@ @ ", X "@ @", X "@ @", X "@ @", X " ", X " ", X " " X }, X { /* o */ X " ", X " ", X " @@@@@ ", X " @ @ ", X "@ @", X " @ @ ", X " @@@@@ ", X " ", X " ", X " " X }, X { /* p */ X " ", X " ", X "@ @@@@@ ", X "@@ @ ", X "@ @", X "@@ @ ", X "@ @@@@@ ", X "@ ", X "@ ", X "@ " X }, X { /* q */ X " ", X " ", X " @@@@@ @", X " @ @@", X "@ @", X " @ @@", X " @@@@@ @", X " @", X " @", X " @" X }, X { /* r */ X " ", X " ", X "@ @@ ", X "@@ @", X "@ ", X "@ ", X "@ ", X " ", X " ", X " " X }, X { /* s */ X " ", X " ", X " @@@@@@@ ", X "@ ", X " @@@@@@@ ", X " @", X " @@@@@@@ ", X " ", X " ", X " " X }, X { /* t */ X " ", X " @ ", X "@@@@@@@", X " @ ", X " @ ", X " @ @", X " @@ ", X " ", X " ", X " " X }, X { /* u */ X " ", X " ", X "@ @", X "@ @", X "@ @", X " @ @@", X " @@@@@ @", X " ", X " ", X " " X }, X { /* v */ X " ", X " ", X "@ @", X "@ @", X " @ @ ", X " @ @ ", X " @@@ ", X " ", X " ", X " " X }, X { /* w */ X " ", X " ", X "@ @", X "@ @ @", X "@ @ @", X "@ @ @", X " @@@ @@@ ", X " ", X " ", X " " X }, X { /* x */ X " ", X " ", X "@ @", X " @ @ ", X " @@@ ", X " @ @ ", X "@ @", X " ", X " ", X " " X }, X { /* y */ X " ", X " ", X "@ @", X "@ @", X "@ @", X "@ @", X " @@@@@@", X " @", X " @", X " @@@@@ " X }, X { /* z */ X " ", X " ", X "@@@@@@@", X " @@ ", X " @ ", X " @@ ", X "@@@@@@@", X " ", X " ", X " " X }, X { /* { */ X " @@@", X " @ ", X " @ ", X "@ ", X " @ ", X " @ ", X " @@@", X " ", X " ", X " " X }, X { /* | */ X "@", X "@", X "@", X " ", X "@", X "@", X "@", X " ", X " ", X " " X }, X { /* } */ X "@@@ ", X " @ ", X " @ ", X " @", X " @ ", X " @ ", X "@@@ ", X " ", X " ", X " " X }, X { /* ~ */ X " ", X " @@ @", X " @ @ @ ", X "@ @@ ", X " ", X " ", X " ", X " ", X " ", X " " X }, X { /* *DEL* */ X "@@@@@@@@@", X "@@@@@@@@@", X "@@@@@@@@@", X "@@@@@@@@@", X "@@@@@@@@@", X "@@@@@@@@@", X "@@@@@@@@@", X " ", X " ", X " " X } X }; SHAR_EOF if test 19204 -ne "`wc -c < 'data.c'`" then echo shar: error transmitting "'data.c'" '(should have been 19204 characters)' fi fi # end of overwriting check echo shar: extracting "'TODO'" '(259 characters)' if test -f 'TODO' then echo shar: will not over-write existing file "'TODO'" else sed 's/^ X//' << \SHAR_EOF > 'TODO' X8702.171220 X X* Set up with display buffer instead of stream to allow for adding X special features. X (added: 8702.201336) X X8702.201337 X X* Set up to use flag to set print width, possibly add feature to X use an environment variable. X X* Modify to use font files. SHAR_EOF if test 259 -ne "`wc -c < 'TODO'`" then echo shar: error transmitting "'TODO'" '(should have been 259 characters)' fi fi # end of overwriting check echo shar: extracting "'Makefile'" '(96 characters)' if test -f 'Makefile' then echo shar: will not over-write existing file "'Makefile'" else sed 's/^ X//' << \SHAR_EOF > 'Makefile' Xblock: block.o data.o X cc block.o data.o -o block X Xprtout: *.c TODO X pr TODO *.c | PRMAN -setup SHAR_EOF if test 96 -ne "`wc -c < 'Makefile'`" then echo shar: error transmitting "'Makefile'" '(should have been 96 characters)' fi fi # end of overwriting check echo shar: extracting "'block.c'" '(1401 characters)' if test -f 'block.c' then echo shar: will not over-write existing file "'block.c'" else sed 's/^ X//' << \SHAR_EOF > 'block.c' X#include <stdio.h> X#include <string.h> X X#define LINES 10 X#define BUFFERSIZE 1024 X Xextern char *data[][LINES]; X Xchar buffer[LINES][BUFFERSIZE+1]; X Xint min(a,b) Xint a, X b; X{ X if (a>b) X return(b); X return(a); X} X Xmain(argc,argv) Xint argc; Xchar **argv; X{ X short i, X j, X k, X l, X m, X idx, X idx2, X al, X sw, X tmp, X tmp2; X char *p, X *ptr; X X while (--argc) { X argv++; X/* X for (i=0; i<LINES; i++) { X p = *argv; X while (*p != '\0') X printf("%s ",data[*p++][i]); X printf("\n"); X } X*/ X p = *argv; X idx = 0; X idx2 = 0; X for (i=0; i<LINES; i++) X for (j=0; j<BUFFERSIZE; j++) X buffer[i][j] = ' '; X while (*p != '\0') { X al = strlen(data[*p][0]); X sw = al; X l = 0; m = 0; X for (i=0; i<LINES; i++) { X for (j=1; j<=idx2 && buffer[i][idx-j]==' '; j++); X for (k=0; *p!=' ' && k<al && data[*p][i][k]==' '; k++); X sw = min(sw,j+k); X if (i) { X sw = min(sw,j+m); X sw = min(sw,l+k); X } X l = j; m = k; X } X if (sw) X --sw; X tmp = idx + al - sw; X tmp2 = idx-sw+1; X for (i=0; i<LINES; i++) X for (j=0; j<min(al,BUFFERSIZE-tmp); j++) X if (data[*p][i][j]!=' ') X buffer[i][tmp2+j]=data[*p][i][j]; X idx2 = ( *p==' ' ? 0 : tmp); X idx = tmp + 1; X p++; X if (idx>=BUFFERSIZE) { X idx = BUFFERSIZE; X *p = '\0'; X } X } X for (i=0; i<LINES; i++) { X buffer[i][idx] = '\0'; X printf("%s\n",buffer[i]); X } X } X} SHAR_EOF if test 1401 -ne "`wc -c < 'block.c'`" then echo shar: error transmitting "'block.c'" '(should have been 1401 characters)' fi fi # end of overwriting check echo shar: done with directory "'block'" cd .. # End of shell archive exit 0