#! /bin/sh awk '$1=="C" && length($2) == 1 { chr = $2 ; num = 0;okay=1} $1=="C" && length($2) != 1 { okay=0 } $1=="m" || $1=="n" { if(okay) { printf("%d %d %s %s %d %d\n",index(" !\"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",chr)+31,num,chr,$1,$2,$3) num++}}' $1 | sort -n +0n -1n +1n -2n| awk 'BEGIN { ind=0; count=0;pr = 0 print "#include \"font.h\"" print "move_t Moves[] = {" } $2==0 { for ( ; ind+32<$1 ; ind++) Base[ind] = count; if ( pr%4 != 0 ) printf("\n") printf("/* %s */",$3) pr = 0 } { if ( pr%4 == 0 && pr != 0) printf(" "); printf(" '\''%s'\'', %3d, %3d,",$4,$5,$6) if ( pr%4 == 3 ) printf("\n"); count++;pr++ } END { Base[ind++] = count if(pr%4!=0) printf("\n") print "};" print "int Base[] = {" for(i=0 ; i