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.