60 #define MAXFILENAME 20 
   76    unsigned char header [62] = {
 
   93       0xF0, 0xFF, 0xFF, 0xFF,  
 
  122    while (fgets (instring, 
MAXSTRING - 1, stdin) != NULL) {
 
  124       sscanf (instring, 
"%X:%s", &code_point, glyph);
 
  126       glyph_width = strlen (glyph) / (glyph_height / 4);
 
  127       snprintf (filename, 
MAXFILENAME, 
"U+%06X.bmp", code_point);
 
  128       header [18] =  glyph_width;  
 
  129       header [22] = -glyph_height; 
 
  130       if ((outfp = fopen (filename, 
"w")) != NULL) {
 
  131          for (i = 0; i < 62; i++) fputc (header[i], outfp);
 
  139          for (i = 0; i < glyph_height; i++) {
 
  141             sscanf (&glyph[string_index], 
"%2X", &nextbyte);
 
  143             fputc (nextbyte, outfp);  
 
  144             if (glyph_width <= 8) {   
 
  145                fputc (0x00, outfp); fputc (0x00, outfp); fputc (0x00, outfp);
 
  148                sscanf (&glyph[string_index], 
"%2X", &nextbyte);
 
  150                fputc (nextbyte, outfp);  
 
  151                if (glyph_width <= 16) {  
 
  152                   fputc (0x00, outfp); fputc (0x00, outfp);
 
  155                   sscanf (&glyph[string_index], 
"%2X", &nextbyte);
 
  157                   fputc (nextbyte, outfp);  
 
  158                   if (glyph_width <= 24) {  
 
  162                      sscanf (&glyph[string_index], 
"%2X", &nextbyte);
 
  164                      fputc (nextbyte, outfp); 
 
int main()
The main function.