/* Copyright (C) 2004 Zachary Smith */ /* This software is free for non-commercial use only. */ #include #include #define STR "STARTFONT 2.1\n\ FONT %s\n\ SIZE 12 75 75\n\ FONTBOUNDINGBOX 8 16 0 0\n\ COMMENT %s\n\ COMMENT -\n\ STARTPROPERTIES 20\n\ FOUNDRY \"misc\"\n\ FAMILY_NAME \"%s\"\n\ WEIGHT_NAME \"Medium\"\n\ SLANT \"R\"\n\ SETWIDTH_NAME \"Normal\"\n\ ADD_STYLE_NAME \"\"\n\ PIXEL_SIZE 12\n\ POINT_SIZE 120\n\ RESOLUTION_X 75\n\ RESOLUTION_Y 75\n\ SPACING \"M\"\n\ CHARSET_REGISTRY \"ISO8859\"\n\ CHARSET_ENCODING \"1\"\n\ FONT_ASCENT 13\n\ FONT_DESCENT 3\n\ FACE_NAME \"%s\"\n\ COPYRIGHT \"unknown\"\n\ DEFAULT_CHAR 32\n\ CHARSET_COLLECTIONS \"ASCII ISO8859-1 ADOBE-STANDARD\"\n\ FULL_NAME \"%s\"\n\ ENDPROPERTIES\n\ CHARS 224\n" main(int c, char **v) { int ch,i,j; char *s; if (c!=2) return; unsigned char buf[4096]; s = v[1]; FILE *f = fopen (s,"rb"); if (!f) return; char *s2 = strchr (s, '.'); if (s2) *s2 = 0; printf (STR, s,s,s,s,s); if (4096 !=fread (buf, 1, 4096, f)) return; for(i=32; i<256; i++) { printf ("STARTCHAR %02x\n", i); printf ("ENCODING %d\n", i); printf ("SWIDTH 600 0\n"); printf ("DWIDTH 8 0\n"); printf ("BBX 8 16 0 -3\n"); printf ("BITMAP\n"); for (j=0; j<16; j++) printf ("%02x\n", (int)buf[(i*16)+j]); printf ("ENDCHAR\n"); } printf ("ENDFONT\n"); fclose(f); }