awk '
BEGIN				{OFS=""}
/^#define [A-Za-z]+_width/	{
	 print "\def\\bitmapwidth{"$3"}%"
	 Width=$3
	 print "\\newdimen\mapboxwidth\mapboxwidth=\\bitdotsize%"
	 print "\multiply\mapboxwidth by\\bitmapwidth%"
	}
/^#define [A-Za-z]+_height/	{print "\def\\bitmapheight{"$3"}%"
				 Height=$3
				}
/static/{
     	 print"\vbox{\parindent=0pt\hsize\mapboxwidth%"
	 print "\\bitbyteswide="Width/8"%"
	 print"\initbitmap\\baselineskip=\\bitdotsize%"
	 bit["0"]="\usebox\\bitzero"
	 bit["1"]="\usebox\\bitone"
	 bit["2"]="\usebox\\bittwo"
	 bit["3"]="\usebox\\bitthree"
	 bit["4"]="\usebox\\bitfour"
	 bit["5"]="\usebox\\bitfive"
	 bit["6"]="\usebox\\bitsix"
	 bit["7"]="\usebox\\bitseven"
	 bit["8"]="\usebox\\biteight"
	 bit["9"]="\usebox\\bitnine"
	 bit["a"]="\usebox\\bita"
	 bit["b"]="\usebox\\bitb"
	 bit["c"]="\usebox\\bitc"
	 bit["d"]="\usebox\\bitd"
	 bit["e"]="\usebox\\bite"
	 bit["f"]="\usebox\\bitf"
	 FS=","
	}
/0x/	{for (i=1;i<=NF;i++){
	   while ((substr($i,1,1) != "x")&&(length($i)>0)) $i=substr($i,2,length($i))
	   if (length($i)>0)
	     print "\\bitstep",bit[substr($i,3,1)],bit[substr($i,2,1)],"%"
	   }
	}
END	{print "}"}


' $*


