ifont2h.c
资源名称:ilib [点击查看]
上传用户:changbiao
上传日期:2007-01-13
资源大小:141k
文件大小:2k
源码类别:

图片显示

开发平台:

C/C++

  1. /*
  2.  * font2h.c
  3.  *
  4.  * Image library
  5.  *
  6.  * Description:
  7.  * Create an include file from a BDF font file.
  8.  *
  9.  * History:
  10.  * 29-May-96 Craig Knudsen cknudsen@radix.net
  11.  * Created
  12.  *
  13.  ****************************************************************************/
  14. #include <stdio.h>
  15. #include <stdlib.h>
  16. #include <string.h>
  17. int main ( argc, argv )
  18. int argc;
  19. char *argv[];
  20. {
  21.   FILE *fp;
  22.   char *ptr, *ptr2;
  23.   char name[200];
  24.   char text[1024], text2[1024];
  25.   if ( argc <= 1 ) {
  26.     fprintf ( stderr, "Usage: font2h <bdf font file>n" );
  27.     exit ( 1 );
  28.   }
  29.   fp = fopen ( argv[1], "r" );
  30.   if ( ! fp ) {
  31.     fprintf ( stderr, "Error opening file: %sn", argv[1] );
  32.     exit ( 1 );
  33.   }
  34.   /* get name */
  35.   ptr = argv[1] + strlen ( argv[1] ) - 1;
  36.   while ( ptr != argv[1] && *ptr != '/' )
  37.     ptr--;
  38.   if ( *ptr == '/' )
  39.     ptr++;
  40.   strcpy ( name, ptr );
  41.   strtok ( name, "." );
  42.   printf ( "/* file generated by font2h - do not edit */nn" );
  43.   printf ( "#ifndef _%s_hn", name );
  44.   printf ( "#define _%s_hn", name );
  45.   printf ( "static char *%s_font[] = {n", name );
  46.   while ( fgets ( text, 1024, fp ) ) {
  47.     if ( strncmp ( text, "COMMENT", 7 ) == 0 )
  48.       continue;
  49.     for ( ptr = text, ptr2 = text2; *ptr != '12' && *ptr != '15' &&
  50.       *ptr != ''; ptr++, ptr2++ ) {
  51.       if ( *ptr == '"' ) {
  52.         *ptr2 = '\';
  53.         ptr2++;
  54.       }
  55.       *ptr2 = *ptr;
  56.     }
  57.     *ptr2 = '';
  58.     printf ( "  "%s",n", text2 );
  59.   }
  60.   printf ( "  NULL,n};n" );
  61.   printf ( "#endif /* _%s_h */n", name );
  62.   fclose ( fp );
  63.   return ( 0 );
  64. }