1 /*
2 // font.c
3 //
4 //
5 */
6
7 #include "xbook.h"
8
LoadFont(display,gc,argc,argv,default_name)9 XFontStruct *LoadFont( display, gc, argc, argv, default_name )
10 Display *display;
11 GC gc;
12 int argc;
13 char *argv[];
14 char default_name[];
15 {
16 XFontStruct *font;
17 char name[ BUFSIZE + 1 ];
18
19 (void) strcpy( name, default_name );
20 CheckFontName( argc, argv, name );
21 font = XLoadQueryFont( display, name );
22 if( font == (XFontStruct *) NULL )
23 {
24 font = XLoadQueryFont( display, default_name );
25 if( font == (XFontStruct *) NULL )
26 {
27 font = XLoadQueryFont( display, "fixed" );
28 }
29 }
30 if( font != (XFontStruct *) NULL )
31 {
32 XSetFont( display, gc, font->fid );
33 }
34 else
35 {
36 QuitX( display, "Error: could not load font ",
37 name );
38 }
39 return ( font );
40 }
41
CheckFontName(argc,argv,fontname)42 CheckFontName( argc, argv, fontname )
43 int argc;
44 char *argv[];
45 char fontname[];
46 {
47 int counter;
48
49 counter = 1;
50 while( counter < argc )
51 {
52 if( ( strncmp( argv[ counter ], "-font", 5 ) == 0 ) ||
53 ( strncmp( argv[ counter ], "-fn", 3 ) == 0 ) )
54 {
55 counter++;
56 if( counter < argc )
57 {
58 (void) strcpy( fontname, argv[counter] );
59 }
60 else
61 {
62 (void) fprintf( stderr,
63 "Error: o modo de usar e -font NomeFonte\n" );
64 }
65 }
66 counter++;
67 }
68 }
69
70