struct letter_t{
	char	rows[8];
}letter_t;


struct letter_t charset[] = {
 {126 ,66 ,66 ,66 ,66 ,66 ,66 ,126 },
 {126 ,129 ,165 ,129 ,189 ,153 ,129 ,126 },
 {126 ,255 ,219 ,255 ,195 ,231 ,255 ,126 },
 {108 ,254 ,254 ,254 ,124 ,56 ,16 ,0 },
 {16 ,56 ,124 ,254 ,124 ,56 ,16 ,0 },
 {56 ,124 ,56 ,254 ,254 ,124 ,56 ,124 },
 {16 ,16 ,56 ,124 ,254 ,124 ,56 ,124 },
 {0 ,0 ,24 ,60 ,60 ,24 ,0 ,0 },
 {255 ,255 ,231 ,195 ,195 ,231 ,255 ,255 },
 {0 ,60 ,102 ,66 ,66 ,102 ,60 ,0 },
 {255 ,195 ,153 ,189 ,189 ,153 ,195 ,255 },
 {15 ,7 ,15 ,125 ,204 ,204 ,204 ,120 },
 {60 ,102 ,102 ,102 ,60 ,24 ,126 ,24 },
 {63 ,51 ,63 ,48 ,48 ,112 ,240 ,224 },
 {127 ,99 ,127 ,99 ,99 ,103 ,230 ,192 },
 {153 ,90 ,60 ,231 ,231 ,60 ,90 ,153 },
 {128 ,224 ,248 ,254 ,248 ,224 ,128 ,0 },
 {2 ,14 ,62 ,254 ,62 ,14 ,2 ,0 },
 {24 ,60 ,126 ,24 ,24 ,126 ,60 ,24 },
 {102 ,102 ,102 ,102 ,102 ,0 ,102 ,0 },
 {127 ,219 ,219 ,123 ,27 ,27 ,27 ,0 },
 {62 ,99 ,56 ,108 ,108 ,56 ,204 ,120 },
 {0 ,0 ,0 ,0 ,126 ,126 ,126 ,0 },
 {24 ,60 ,126 ,24 ,126 ,60 ,24 ,255 },
 {24 ,60 ,126 ,24 ,24 ,24 ,24 ,0 },
 {24 ,24 ,24 ,24 ,126 ,60 ,24 ,0 },
 {0 ,24 ,12 ,254 ,12 ,24 ,0 ,0 },
 {0 ,48 ,96 ,254 ,96 ,48 ,0 ,0 },
 {0 ,0 ,192 ,192 ,192 ,254 ,0 ,0 },
 {0 ,36 ,102 ,255 ,102 ,36 ,0 ,0 },
 {0 ,24 ,60 ,126 ,255 ,255 ,0 ,0 },
 {0 ,255 ,255 ,126 ,60 ,24 ,0 ,0 },
 {0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 },
 {48 ,48 ,48 ,48 ,48 ,0 ,48 ,0 },
 {108 ,108 ,108 ,0 ,0 ,0 ,0 ,0 },
 {108 ,108 ,254 ,108 ,254 ,108 ,108 ,0 },
 {48 ,124 ,192 ,120 ,12 ,248 ,48 ,0 },
 {0 ,198 ,204 ,24 ,48 ,102 ,198 ,0 },
 {56 ,108 ,56 ,118 ,220 ,204 ,118 ,0 },
 {96 ,96 ,192 ,0 ,0 ,0 ,0 ,0 },
 {24 ,48 ,96 ,96 ,96 ,48 ,24 ,0 },
 {96 ,48 ,24 ,24 ,24 ,48 ,96 ,0 },
 {0 ,102 ,60 ,255 ,60 ,102 ,0 ,0 },
 {0 ,48 ,48 ,252 ,48 ,48 ,0 ,0 },
 {0 ,0 ,0 ,0 ,0 ,48 ,48 ,96 },
 {0 ,0 ,0 ,252 ,0 ,0 ,0 ,0 },
 {0 ,0 ,0 ,0 ,0 ,48 ,48 ,0 },
 {6 ,12 ,24 ,48 ,96 ,192 ,128 ,0 },
 {124 ,198 ,206 ,222 ,246 ,230 ,124 ,0 },
 {48 ,112 ,48 ,48 ,48 ,48 ,252 ,0 },
 {120 ,204 ,12 ,56 ,96 ,204 ,252 ,0 },
 {120 ,204 ,12 ,56 ,12 ,204 ,120 ,0 },
 {28 ,60 ,108 ,204 ,254 ,12 ,30 ,0 },
 {252 ,192 ,248 ,12 ,12 ,204 ,120 ,0 },
 {56 ,96 ,192 ,248 ,204 ,204 ,120 ,0 },
 {252 ,204 ,12 ,24 ,48 ,48 ,48 ,0 },
 {120 ,204 ,204 ,120 ,204 ,204 ,120 ,0 },
 {120 ,204 ,204 ,124 ,12 ,24 ,112 ,0 },
 {0 ,48 ,48 ,0 ,0 ,48 ,48 ,0 },
 {0 ,48 ,48 ,0 ,0 ,48 ,48 ,96 },
 {24 ,48 ,96 ,192 ,96 ,48 ,24 ,0 },
 {0 ,0 ,252 ,0 ,0 ,252 ,0 ,0 },
 {96 ,48 ,24 ,12 ,24 ,48 ,96 ,0 },
 {120 ,204 ,12 ,24 ,48 ,0 ,48 ,0 },
 {124 ,198 ,222 ,222 ,222 ,192 ,120 ,0 },
 {48 ,120 ,204 ,204 ,252 ,204 ,204 ,0 },
 {252 ,102 ,102 ,124 ,102 ,102 ,252 ,0 },
 {60 ,102 ,192 ,192 ,192 ,102 ,60 ,0 },
 {248 ,108 ,102 ,102 ,102 ,108 ,248 ,0 },
 {126 ,96 ,96 ,120 ,96 ,96 ,126 ,0 },
 {126 ,96 ,96 ,120 ,96 ,96 ,96 ,0 },
 {60 ,102 ,192 ,192 ,206 ,102 ,62 ,0 },
 {204 ,204 ,204 ,252 ,204 ,204 ,204 ,0 },
 {120 ,48 ,48 ,48 ,48 ,48 ,120 ,0 },
 {30 ,12 ,12 ,12 ,204 ,204 ,120 ,0 },
 {230 ,102 ,108 ,120 ,108 ,102 ,230 ,0 },
 {96 ,96 ,96 ,96 ,96 ,96 ,126 ,0 },
 {198 ,238 ,254 ,254 ,214 ,198 ,198 ,0 },
 {198 ,230 ,246 ,222 ,206 ,198 ,198 ,0 },
 {56 ,108 ,198 ,198 ,198 ,108 ,56 ,0 },
 {252 ,102 ,102 ,124 ,96 ,96 ,240 ,0 },
 {120 ,204 ,204 ,204 ,220 ,120 ,28 ,0 },
 {252 ,102 ,102 ,124 ,108 ,102 ,230 ,0 },
 {120 ,204 ,224 ,120 ,28 ,204 ,120 ,0 },
 {252 ,48 ,48 ,48 ,48 ,48 ,48 ,0 },
 {204 ,204 ,204 ,204 ,204 ,204 ,252 ,0 },
 {204 ,204 ,204 ,204 ,204 ,120 ,48 ,0 },
 {198 ,198 ,198 ,214 ,254 ,238 ,198 ,0 },
 {198 ,198 ,108 ,56 ,56 ,108 ,198 ,0 },
 {204 ,204 ,204 ,120 ,48 ,48 ,120 ,0 },
 {254 ,6 ,12 ,24 ,48 ,96 ,254 ,0 },
 {120 ,96 ,96 ,96 ,96 ,96 ,120 ,0 },
 {192 ,96 ,48 ,24 ,12 ,6 ,2 ,0 },
 {120 ,24 ,24 ,24 ,24 ,24 ,120 ,0 },
 {16 ,56 ,108 ,198 ,0 ,0 ,0 ,0 },
 {0 ,0 ,0 ,0 ,0 ,0 ,0 ,255 },
 {48 ,48 ,24 ,0 ,0 ,0 ,0 ,0 },
 {0 ,0 ,120 ,12 ,124 ,204 ,118 ,0 },
 {224 ,96 ,96 ,124 ,102 ,102 ,220 ,0 },
 {0 ,0 ,120 ,204 ,192 ,204 ,120 ,0 },
 {28 ,12 ,12 ,124 ,204 ,204 ,118 ,0 },
 {0 ,0 ,120 ,204 ,252 ,192 ,120 ,0 },
 {56 ,108 ,96 ,240 ,96 ,96 ,240 ,0 },
 {0 ,0 ,118 ,204 ,204 ,124 ,12 ,248 },
 {224 ,96 ,108 ,118 ,102 ,102 ,230 ,0 },
 {48 ,0 ,112 ,48 ,48 ,48 ,120 ,0 },
 {12 ,0 ,12 ,12 ,12 ,204 ,204 ,120 },
 {224 ,96 ,102 ,108 ,120 ,108 ,230 ,0 },
 {112 ,48 ,48 ,48 ,48 ,48 ,120 ,0 },
 {0 ,0 ,204 ,254 ,254 ,214 ,198 ,0 },
 {0 ,0 ,248 ,204 ,204 ,204 ,204 ,0 },
 {0 ,0 ,120 ,204 ,204 ,204 ,120 ,0 },
 {0 ,0 ,220 ,102 ,102 ,124 ,96 ,240 },
 {0 ,0 ,118 ,204 ,204 ,124 ,12 ,30 },
 {0 ,0 ,220 ,118 ,102 ,96 ,240 ,0 },
 {0 ,0 ,124 ,192 ,120 ,12 ,248 ,0 },
 {16 ,48 ,124 ,48 ,48 ,52 ,24 ,0 },
 {0 ,0 ,204 ,204 ,204 ,204 ,118 ,0 },
 {0 ,0 ,204 ,204 ,204 ,120 ,48 ,0 },
 {0 ,0 ,198 ,214 ,254 ,254 ,108 ,0 },
 {0 ,0 ,198 ,108 ,56 ,108 ,198 ,0 },
 {0 ,0 ,204 ,204 ,204 ,124 ,12 ,248 },
 {0 ,0 ,252 ,152 ,48 ,100 ,252 ,0 },
 {28 ,48 ,48 ,224 ,48 ,48 ,28 ,0 },
 {24 ,24 ,24 ,0 ,24 ,24 ,24 ,0 },
 {224 ,48 ,48 ,28 ,48 ,48 ,224 ,0 },
 {118 ,220 ,0 ,0 ,0 ,0 ,0 ,0 },
 {0 ,16 ,56 ,108 ,198 ,254 ,0 ,0 },
 {60 ,102 ,192 ,192 ,102 ,60 ,8 ,24 },
 {40 ,0 ,204 ,204 ,204 ,204 ,118 ,0 },
 {8 ,16 ,120 ,204 ,252 ,192 ,120 ,0 },
 {16 ,40 ,120 ,12 ,124 ,204 ,118 ,0 },
 {40 ,0 ,120 ,12 ,124 ,204 ,118 ,0 },
 {32 ,16 ,120 ,12 ,124 ,204 ,118 ,0 },
 {24 ,24 ,120 ,12 ,124 ,204 ,118 ,0 },
 {0 ,120 ,204 ,192 ,204 ,120 ,16 ,48 },
 {16 ,40 ,120 ,204 ,252 ,192 ,120 ,0 },
 {40 ,0 ,120 ,204 ,252 ,192 ,120 ,0 },
 {32 ,16 ,120 ,204 ,252 ,192 ,120 ,0 },
 {40 ,0 ,112 ,48 ,48 ,48 ,120 ,0 },
 {16 ,40 ,112 ,48 ,48 ,48 ,120 ,0 },
 {16 ,8 ,112 ,48 ,48 ,48 ,120 ,0 },
 {40 ,48 ,120 ,204 ,252 ,204 ,204 ,0 },
 {48 ,72 ,48 ,204 ,252 ,204 ,204 ,0 },
 {8 ,16 ,126 ,96 ,120 ,96 ,126 ,0 },
 {0 ,0 ,108 ,18 ,126 ,144 ,126 ,0 },
 {62 ,80 ,144 ,156 ,240 ,144 ,158 ,0 },
 {16 ,40 ,120 ,204 ,204 ,204 ,120 ,0 },
 {40 ,0 ,120 ,204 ,204 ,204 ,120 ,0 },
 {32 ,16 ,120 ,204 ,204 ,204 ,120 ,0 },
 {16 ,40 ,204 ,204 ,204 ,204 ,118 ,0 },
 {32 ,16 ,204 ,204 ,204 ,204 ,118 ,0 },
 {40 ,0 ,204 ,204 ,204 ,124 ,12 ,248 },
 {40 ,124 ,198 ,198 ,198 ,198 ,124 ,0 },
 {40 ,198 ,198 ,198 ,198 ,198 ,124 ,0 },
 {0 ,16 ,120 ,204 ,192 ,204 ,120 ,16 },
 {56 ,68 ,64 ,240 ,64 ,64 ,254 ,0 },
 {195 ,102 ,60 ,126 ,24 ,126 ,24 ,0 },
 {252 ,102 ,102 ,124 ,96 ,96 ,240 ,0 },
 {28 ,48 ,252 ,48 ,48 ,48 ,48 ,224 },
 {8 ,16 ,120 ,12 ,124 ,204 ,118 ,0 },
 {16 ,32 ,112 ,48 ,48 ,48 ,120 ,0 },
 {16 ,32 ,120 ,204 ,204 ,204 ,120 ,0 },
 {16 ,32 ,204 ,204 ,204 ,204 ,118 ,0 },
 {50 ,76 ,248 ,204 ,204 ,204 ,204 ,0 },
 {50 ,76 ,198 ,230 ,214 ,206 ,198 ,0 },
 {0 ,56 ,12 ,60 ,108 ,54 ,0 ,0 },
 {0 ,56 ,68 ,68 ,56 ,0 ,0 ,0 },
 {24 ,0 ,24 ,48 ,96 ,102 ,60 ,0 },
 {0 ,0 ,254 ,128 ,128 ,0 ,0 ,0 },
 {0 ,0 ,254 ,2 ,2 ,0 ,0 ,0 },
 {66 ,68 ,72 ,86 ,41 ,70 ,136 ,31 },
 {66 ,68 ,72 ,86 ,42 ,95 ,130 ,7 },
 {48 ,0 ,48 ,48 ,48 ,48 ,48 ,0 },
 {0 ,36 ,72 ,144 ,72 ,36 ,0 ,0 },
 {0 ,72 ,36 ,18 ,36 ,72 ,0 ,0 },
 {136 ,34 ,136 ,34 ,136 ,0 ,136 ,34 },
 {170 ,85 ,170 ,85 ,170 ,0 ,170 ,85 },
 {119 ,221 ,119 ,221 ,119 ,255 ,119 ,221 },
 {16 ,16 ,16 ,16 ,16 ,16 ,16 ,16 },
 {16 ,16 ,16 ,240 ,16 ,16 ,16 ,16 },
 {16 ,16 ,240 ,16 ,240 ,16 ,16 ,16 },
 {40 ,40 ,40 ,232 ,40 ,40 ,40 ,40 },
 {0 ,0 ,0 ,248 ,40 ,40 ,40 ,40 },
 {0 ,0 ,240 ,16 ,240 ,16 ,16 ,16 },
 {40 ,40 ,232 ,8 ,232 ,40 ,40 ,40 },
 {40 ,40 ,40 ,40 ,40 ,40 ,40 ,40 },
 {0 ,0 ,248 ,8 ,232 ,40 ,40 ,40 },
 {40 ,40 ,232 ,8 ,248 ,0 ,0 ,0 },
 {40 ,40 ,40 ,248 ,0 ,0 ,0 ,0 },
 {16 ,16 ,240 ,16 ,240 ,0 ,0 ,0 },
 {0 ,0 ,0 ,240 ,16 ,16 ,16 ,16 },
 {16 ,16 ,16 ,31 ,0 ,0 ,0 ,0 },
 {16 ,16 ,16 ,255 ,0 ,0 ,0 ,0 },
 {0 ,0 ,0 ,255 ,16 ,16 ,16 ,16 },
 {16 ,16 ,16 ,31 ,16 ,16 ,16 ,16 },
 {0 ,0 ,0 ,255 ,0 ,0 ,0 ,0 },
 {16 ,16 ,16 ,255 ,16 ,16 ,16 ,16 },
 {16 ,16 ,31 ,16 ,31 ,16 ,16 ,16 },
 {40 ,40 ,40 ,47 ,40 ,40 ,40 ,40 },
 {40 ,40 ,47 ,32 ,63 ,0 ,0 ,0 },
 {0 ,0 ,63 ,32 ,47 ,40 ,40 ,40 },
 {40 ,40 ,239 ,0 ,255 ,0 ,0 ,0 },
 {0 ,0 ,255 ,0 ,239 ,40 ,40 ,40 },
 {40 ,40 ,47 ,32 ,47 ,40 ,40 ,40 },
 {0 ,0 ,255 ,0 ,255 ,0 ,0 ,0 },
 {40 ,40 ,239 ,0 ,239 ,40 ,40 ,40 },
 {16 ,16 ,255 ,0 ,255 ,0 ,0 ,0 },
 {40 ,40 ,40 ,255 ,0 ,0 ,0 ,0 },
 {0 ,0 ,255 ,0 ,255 ,16 ,16 ,16 },
 {0 ,0 ,0 ,255 ,40 ,40 ,40 ,40 },
 {40 ,40 ,40 ,63 ,0 ,0 ,0 ,0 },
 {16 ,16 ,31 ,16 ,31 ,0 ,0 ,0 },
 {0 ,0 ,31 ,16 ,31 ,16 ,16 ,16 },
 {0 ,0 ,0 ,63 ,40 ,40 ,40 ,40 },
 {40 ,40 ,40 ,255 ,40 ,40 ,40 ,40 },
 {16 ,16 ,255 ,16 ,255 ,16 ,16 ,16 },
 {16 ,16 ,16 ,240 ,0 ,0 ,0 ,0 },
 {0 ,0 ,0 ,31 ,16 ,16 ,16 ,16 },
 {255 ,255 ,255 ,255 ,255 ,255 ,255 ,255 },
 {0 ,0 ,0 ,0 ,255 ,255 ,255 ,255 },
 {240 ,240 ,240 ,240 ,240 ,240 ,240 ,240 },
 {15 ,15 ,15 ,15 ,15 ,15 ,15 ,15 },
 {255 ,255 ,255 ,255 ,0 ,0 ,0 ,0 },
 {0 ,0 ,0 ,114 ,140 ,136 ,116 ,0 },
 {48 ,72 ,72 ,124 ,66 ,66 ,220 ,0 },
 {0 ,0 ,254 ,66 ,64 ,64 ,224 ,0 },
 {0 ,0 ,254 ,68 ,68 ,68 ,238 ,0 },
 {254 ,66 ,32 ,16 ,32 ,66 ,254 ,0 },
 {0 ,0 ,0 ,62 ,68 ,68 ,56 ,0 },
 {0 ,0 ,204 ,68 ,68 ,68 ,122 ,64 },
 {0 ,0 ,124 ,16 ,16 ,16 ,28 ,0 },
 {0 ,16 ,124 ,146 ,146 ,124 ,16 ,0 },
 {0 ,0 ,124 ,130 ,186 ,130 ,124 ,0 },
 {0 ,124 ,130 ,130 ,108 ,40 ,238 ,0 },
 {0 ,124 ,32 ,56 ,68 ,68 ,56 ,0 },
 {0 ,0 ,108 ,146 ,146 ,108 ,0 ,0 },
 {0 ,0 ,76 ,146 ,146 ,124 ,16 ,0 },
 {0 ,0 ,60 ,64 ,48 ,64 ,60 ,0 },
 {0 ,0 ,60 ,66 ,66 ,66 ,66 ,0 },
 {0 ,254 ,0 ,254 ,0 ,254 ,0 ,0 },
 {16 ,16 ,254 ,16 ,16 ,254 ,0 ,0 },
 {64 ,16 ,4 ,16 ,64 ,254 ,0 ,0 },
 {4 ,16 ,64 ,16 ,4 ,254 ,0 ,0 },
 {12 ,16 ,16 ,16 ,16 ,16 ,16 ,16 },
 {16 ,16 ,16 ,16 ,16 ,16 ,16 ,96 },
 {0 ,0 ,16 ,0 ,254 ,0 ,16 ,0 },
 {0 ,98 ,156 ,0 ,98 ,156 ,0 ,0 },
 {48 ,72 ,72 ,48 ,0 ,0 ,0 ,0 },
 {0 ,0 ,0 ,48 ,48 ,0 ,0 ,0 },
 {0 ,0 ,0 ,0 ,8 ,0 ,0 ,0 },
 {1 ,2 ,226 ,36 ,20 ,24 ,8 ,0 },
 {0 ,0 ,88 ,36 ,36 ,0 ,0 ,0 },
 {48 ,72 ,16 ,32 ,120 ,0 ,0 ,0 },
 {0 ,0 ,255 ,255 ,255 ,255 ,0 ,0 },
 {0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 }
};


/* ./me [<text>] <scale value> */


main(int argc, char *argv[]){
unsigned int scanline,vscanline,e,scale, cellpadding, cellspacing;
struct letter_t currentletter;


	if(argc < 2){
		printf("%s [<text>] <scale value> <cell spacing> <cell padding>\n\n", argv[0]);
		exit(1);
	}

	if(argv[2]) scale = atoi(argv[2]);
	else scale = 1;
	
        if(argv[3]) cellspacing = atoi(argv[3]);
        else cellspacing = 0;

	if(argv[4]) cellpadding = atoi(argv[4]);
	else cellpadding = 0;

	printf("<table cellspacing = %u cellpadding=%u border=0>",cellspacing, cellpadding);
	for(scanline  = 0; scanline < sizeof(letter_t); scanline++){
		printf("<tr>");
		for(e = 0; e < strlen(argv[1]); e++){
			currentletter = charset[argv[1][e]];
			for(vscanline = sizeof(currentletter.rows); vscanline > 0; vscanline--){
				if(!(((int)currentletter.rows[scanline] & 0xFF) & (1 << vscanline))){
					printf("<td bgcolor=\"white\" width=%u height=%u></td>",scale,scale);
 				}else{
					printf("<td bgcolor=0 width=%u height=%u></td>",scale,scale);
				}			
			}
		}
		printf("</tr>");
	}
	printf("</table>");

}
