1BSD/s6/block.c

Compare this file to the similar file:
Show the results in this format:

#
/*
 * block - print characters in block letters
 */
# define HEIGHT 6
# define WIDTH 5
char MATRIX[] {
0,0,0,0,0,	/* space */
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
1,1,1,1,1,	/* ! */
0,1,1,1,0,
0,0,1,0,0,
0,0,0,0,0,
0,0,1,0,0,
0,0,0,0,0,
1,1,0,1,1,	/* " */
0,1,0,0,1,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,1,0,1,0,	/* # */
1,1,1,1,1,
0,1,0,1,0,
1,1,1,1,1,
0,1,0,1,0,
0,0,0,0,0,
0,1,1,1,1,	/* $ */
1,0,1,0,0,
0,1,1,1,0,
0,0,1,0,1,
1,1,1,1,0,
0,0,0,0,0,
1,1,0,0,1,	/* % */
1,1,0,1,0,
0,0,1,0,0,
0,1,0,1,1,
1,0,0,1,1,
0,0,0,0,0,
0,1,1,1,0,	/* & */
0,1,0,1,0,
0,0,1,0,0,
0,1,0,1,0,
0,1,1,1,1,
0,0,0,1,0,
0,0,1,1,0,	/* ' */
0,0,1,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,1,0,0,	/* ( */
0,1,0,0,0,
0,1,0,0,0,
0,1,0,0,0,
0,0,1,0,0,
0,0,0,0,0,
0,0,1,0,0,	/* ) */
0,0,0,1,0,
0,0,0,1,0,
0,0,0,1,0,
0,0,1,0,0,
0,0,0,0,0,
0,0,0,0,0,	/* * */
0,1,0,1,0,
1,1,1,1,1,
0,1,0,1,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,	/* + */
0,0,1,0,0,
0,1,1,1,0,
0,0,1,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,	/* , */
0,0,0,0,0,
0,0,0,0,0,
0,0,1,1,0,
0,0,1,1,0,
0,1,0,0,0,
0,0,0,0,0,	/* - */
0,0,0,0,0,
0,1,1,1,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,	/* . */
0,0,0,0,0,
0,0,0,0,0,
0,0,1,1,0,
0,0,1,1,0,
0,0,0,0,0,
0,0,0,0,1,	/* / */
0,0,0,1,0,
0,0,1,0,0,
0,1,0,0,0,
1,0,0,0,0,
0,0,0,0,0,
0,1,1,1,0,	/* 0 */
1,0,0,0,1,
1,0,0,0,1,
1,0,0,0,1,
0,1,1,1,0,
0,0,0,0,0,
0,0,1,0,0,	/* 1 */
0,1,1,0,0,
0,0,1,0,0,
0,0,1,0,0,
0,1,1,1,0,
0,0,0,0,0,
0,1,1,1,0,	/* 2 */
1,0,0,0,1,
0,0,1,1,0,
0,1,0,0,0,
1,1,1,1,1,
0,0,0,0,0,
0,1,1,1,0,	/* 3 */
1,0,0,0,1,
0,0,1,1,0,
1,0,0,0,1,
0,1,1,1,0,
0,0,0,0,0,
0,0,1,1,0,	/* 4 */
0,1,0,1,0,
1,1,1,1,1,
0,0,0,1,0,
0,0,0,1,0,
0,0,0,0,0,
1,1,1,1,1,	/* 5 */
1,0,0,0,0,
1,1,1,1,0,
0,0,0,0,1,
1,1,1,1,1,
0,0,0,0,0,
0,0,1,0,0,	/* 6 */
0,1,0,0,0,
1,1,1,1,0,
1,0,0,0,1,
0,1,1,1,0,
0,0,0,0,0,
1,1,1,1,1,	/* 7 */
0,0,0,1,0,
0,0,1,0,0,
0,1,0,0,0,
1,0,0,0,0,
0,0,0,0,0,
0,1,1,1,0,	/* 8 */
1,0,0,0,1,
0,1,1,1,0,
1,0,0,0,1,
0,1,1,1,0,
0,0,0,0,0,
0,1,1,1,0,	/* 9 */
1,0,0,0,1,
0,1,1,1,1,
0,0,0,1,0,
0,0,1,0,0,
0,0,0,0,0,
0,0,1,1,0,	/* : */
0,0,1,1,0,
0,0,0,0,0,
0,0,1,1,0,
0,0,1,1,0,
0,0,0,0,0,
0,0,1,1,0,	/* ; */
0,0,1,1,0,
0,0,0,0,0,
0,0,1,1,0,
0,0,1,1,0,
0,1,0,0,0,
0,0,0,1,0,	/* < */
0,0,1,0,0,
0,1,0,0,0,
0,0,1,0,0,
0,0,0,1,0,
0,0,0,0,0,
0,0,0,0,0,	/* = */
0,1,1,1,0,
0,0,0,0,0,
0,1,1,1,0,
0,0,0,0,0,
0,0,0,0,0,
0,1,0,0,0,	/* > */
0,0,1,0,0,
0,0,0,1,0,
0,0,1,0,0,
0,1,0,0,0,
0,0,0,0,0,
0,1,1,1,0,	/* ? */
1,0,0,0,1,
0,0,1,1,0,
0,0,1,0,0,
0,0,1,0,0,
0,0,0,0,0,
0,1,1,1,0,	/* @ */
1,0,0,0,1,
1,0,1,1,1,
1,0,1,1,1,
0,1,1,1,1,
0,0,0,0,0,
0,0,1,0,0,	/* A */
0,1,0,1,0,
1,1,1,1,1,
1,0,0,0,1,
1,0,0,0,1,
0,0,0,0,0,
1,1,1,1,0,	/* B */
1,0,0,0,1,
1,1,1,1,0,
1,0,0,0,1,
1,1,1,1,0,
0,0,0,0,0,
0,1,1,1,0,	/* C */
1,0,0,0,1,
1,0,0,0,0,
1,0,0,0,1,
0,1,1,1,0,
0,0,0,0,0,
1,1,1,1,0,	/* D */
1,0,0,0,1,
1,0,0,0,1,
1,0,0,0,1,
1,1,1,1,0,
0,0,0,0,0,
1,1,1,1,1,	/* E */
1,0,0,0,0,
1,1,1,0,0,
1,0,0,0,0,
1,1,1,1,1,
0,0,0,0,0,
1,1,1,1,1,	/* F */
1,0,0,0,0,
1,1,1,0,0,
1,0,0,0,0,
1,0,0,0,0,
0,0,0,0,0,
1,1,1,1,1,	/* G */
1,0,0,0,0,
1,0,1,1,1,
1,0,0,0,1,
1,1,1,1,1,
0,0,0,0,0,
1,0,0,0,1,	/* H */
1,0,0,0,1,
1,1,1,1,1,
1,0,0,0,1,
1,0,0,0,1,
0,0,0,0,0,
1,1,1,1,1,	/* I */
0,0,1,0,0,
0,0,1,0,0,
0,0,1,0,0,
1,1,1,1,1,
0,0,0,0,0,
0,1,1,1,0,	/* J */
0,0,1,0,0,
0,0,1,0,0,
1,0,1,0,0,
1,1,1,0,0,
0,0,0,0,0,
1,0,0,0,1,	/* K */
1,0,0,1,0,
1,1,1,0,0,
1,0,0,1,0,
1,0,0,0,1,
0,0,0,0,0,
1,0,0,0,0,	/* L */
1,0,0,0,0,
1,0,0,0,0,
1,0,0,0,0,
1,1,1,1,1,
0,0,0,0,0,
1,0,0,0,1,	/* M */
1,1,0,1,1,
1,0,1,0,1,
1,0,0,0,1,
1,0,0,0,1,
0,0,0,0,0,
1,0,0,0,1,	/* N */
1,1,0,0,1,
1,0,1,0,1,
1,0,0,1,1,
1,0,0,0,1,
0,0,0,0,0,
1,1,1,1,1,	/* O */
1,0,0,0,1,
1,0,0,0,1,
1,0,0,0,1,
1,1,1,1,1,
0,0,0,0,0,
1,1,1,1,0,	/* P */
1,0,0,0,1,
1,1,1,1,0,
1,0,0,0,0,
1,0,0,0,0,
0,0,0,0,0,
1,1,1,1,1,	/* Q */
1,0,0,0,1,
1,0,0,0,1,
1,0,1,0,1,
1,1,1,1,1,
0,0,0,0,1,
1,1,1,1,0,	/* R */
1,0,0,0,1,
1,1,1,1,0,
1,0,0,1,0,
1,0,0,0,1,
0,0,0,0,0,
0,1,1,1,1,	/* S */
1,0,0,0,0,
0,1,1,1,0,
0,0,0,0,1,
1,1,1,1,0,
0,0,0,0,0,
1,1,1,1,1,	/* T */
0,0,1,0,0,
0,0,1,0,0,
0,0,1,0,0,
0,0,1,0,0,
0,0,0,0,0,
1,0,0,0,1,	/* U */
1,0,0,0,1,
1,0,0,0,1,
1,0,0,0,1,
0,1,1,1,0,
0,0,0,0,0,
1,0,0,0,1,	/* V */
1,0,0,0,1,
1,0,0,0,1,
0,1,0,1,0,
0,0,1,0,0,
0,0,0,0,0,
1,0,0,0,1,	/* W */
1,0,0,0,1,
1,0,1,0,1,
1,0,1,0,1,
0,1,1,1,0,
0,0,0,0,0,
1,0,0,0,1,	/* X */
0,1,0,1,0,
0,0,1,0,0,
0,1,0,1,0,
1,0,0,0,1,
0,0,0,0,0,
1,0,0,0,1,	/* Y */
0,1,0,1,0,
0,0,1,0,0,
0,0,1,0,0,
0,0,1,0,0,
0,0,0,0,0,
1,1,1,1,1,	/* Z */
0,0,0,1,0,
0,0,1,0,0,
0,1,0,0,0,
1,1,1,1,1,
0,0,0,0,0,
0,1,1,1,0,	/* [ */
0,1,0,0,0,
0,1,0,0,0,
0,1,0,0,0,
0,1,1,1,0,
0,0,0,0,0,
1,0,0,0,0,	/* \ */
0,1,0,0,0,
0,0,1,0,0,
0,0,0,1,0,
0,0,0,0,1,
0,0,0,0,0,
0,1,1,1,0,	/* ] */
0,0,0,1,0,
0,0,0,1,0,
0,0,0,1,0,
0,1,1,1,0,
0,0,0,0,0,
0,0,1,0,0,	/* ^ */
0,1,0,1,0,
1,0,0,0,1,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,	/* _ */
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
1,1,1,1,1,
0,1,1,0,0,	/* ` */
0,0,1,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,1,0,	/* { */
0,0,1,0,0,
0,1,1,1,0,
0,0,1,0,0,
0,0,0,1,0,
0,0,0,0,0,
0,0,1,0,0,	/* | */
0,0,1,0,0,
0,0,1,0,0,
0,0,1,0,0,
0,0,1,0,0,
0,0,0,0,0,
0,1,0,0,0,	/* } */
0,0,1,0,0,
0,1,1,1,0,
0,0,1,0,0,
0,1,0,0,0,
0,0,0,0,0,
0,0,0,0,0,	/* ~ */
0,1,0,0,0,
1,0,1,0,1,
0,0,0,1,0,
0,0,0,0,0,
0,0,0,0,0,
};
/* END OF CHARACTER TABLE --
-- START OF PROGRAM TEXT
	( JMF 08/19/75 )  */
int	obuf[259];
main(argc,argv)
int argc;
char *argv[];
{
/* ARGV[1] = CHARACTER SPACING
   ARGV[2] = PLOTTING CHARACTER
   ARGV[3-n] = PLOT LINES	*/
int input,chr,spacing,length,row,col;
char *word,*ptr,plot;
if (argc < 4) exit(-1);
spacing = atoi(argv[1]);
plot = argv[2][0];
obuf[0] = 1;
for(input=3; input<argc; input++)
	{
	word = argv[input];
	/* NORMALIZE CHARACTERS TO TABLE */
	for(length=0; word[length]; length++)
		{
		if(word[length]>0140 && word[length]<0173) word[length] =- 040;
		if(word[length]<040 || word[length]==0177) word[length] = 040;
		if(word[length]>037 && word[length]<0141) word[length] =- 040;
		if(word[length]>0172 && word[length]<0177) word[length] =- 072;
		}
	/* PLOT THE LINES */
	for(row=0; row<HEIGHT; row++)
		{
		for(chr=0; chr<length; chr++)
			{
			ptr = &MATRIX[word[chr]*WIDTH*HEIGHT+row*WIDTH];
			for(col=0; col<WIDTH; col++) if(ptr[col]) putchar(plot);
			else putchar(' ');
			for(col=0; col<spacing; col++) putchar(' ');
			}
		putchar('\n');
		}
	putchar('\n');
	}
	fflush(obuf);
}

putchar(c)
{
	putc(c, obuf);
	return(c);
}