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