www.pudn.com > ilib > ifont2h.c
/* * font2h.c * * Image library * * Description: * Create an include file from a BDF font file. * * History: * 29-May-96 Craig Knudsen cknudsen@radix.net * Created * ****************************************************************************/ #include#include #include int main ( argc, argv ) int argc; char *argv[]; { FILE *fp; char *ptr, *ptr2; char name[200]; char text[1024], text2[1024]; if ( argc <= 1 ) { fprintf ( stderr, "Usage: font2h \n" ); exit ( 1 ); } fp = fopen ( argv[1], "r" ); if ( ! fp ) { fprintf ( stderr, "Error opening file: %s\n", argv[1] ); exit ( 1 ); } /* get name */ ptr = argv[1] + strlen ( argv[1] ) - 1; while ( ptr != argv[1] && *ptr != '/' ) ptr--; if ( *ptr == '/' ) ptr++; strcpy ( name, ptr ); strtok ( name, "." ); printf ( "/* file generated by font2h - do not edit */\n\n" ); printf ( "#ifndef _%s_h\n", name ); printf ( "#define _%s_h\n", name ); printf ( "static char *%s_font[] = {\n", name ); while ( fgets ( text, 1024, fp ) ) { if ( strncmp ( text, "COMMENT", 7 ) == 0 ) continue; for ( ptr = text, ptr2 = text2; *ptr != '\012' && *ptr != '\015' && *ptr != '\0'; ptr++, ptr2++ ) { if ( *ptr == '"' ) { *ptr2 = '\\'; ptr2++; } *ptr2 = *ptr; } *ptr2 = '\0'; printf ( " \"%s\",\n", text2 ); } printf ( " NULL,\n};\n" ); printf ( "#endif /* _%s_h */\n", name ); fclose ( fp ); return ( 0 ); }