1 /*
2  * $XConsortium: fontfile.h,v 1.1 91/05/11 09:11:58 rws Exp $
3  *
4  * Copyright 1991 Massachusetts Institute of Technology
5  *
6  * Permission to use, copy, modify, distribute, and sell this software and its
7  * documentation for any purpose is hereby granted without fee, provided that
8  * the above copyright notice appear in all copies and that both that
9  * copyright notice and this permission notice appear in supporting
10  * documentation, and that the name of M.I.T. not be used in advertising or
11  * publicity pertaining to distribution of the software without specific,
12  * written prior permission.  M.I.T. makes no representations about the
13  * suitability of this software for any purpose.  It is provided "as is"
14  * without express or implied warranty.
15  *
16  * M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
17  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T.
18  * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
19  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
20  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
21  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
22  *
23  * Author:  Keith Packard, MIT X Consortium
24  */
25 
26 #ifndef _FONTFILE_H_
27 #define _FONTFILE_H_
28 typedef struct _FontEntry	    *FontEntryPtr;
29 typedef struct _FontTable	    *FontTablePtr;
30 typedef struct _FontName	    *FontNamePtr;
31 typedef struct _FontScaled	    *FontScaledPtr;
32 typedef struct _FontScalableExtra   *FontScalableExtraPtr;
33 typedef struct _FontScalableEntry   *FontScalableEntryPtr;
34 typedef struct _FontScaleAliasEntry *FontScaleAliasEntryPtr;
35 typedef struct _FontBitmapEntry	    *FontBitmapEntryPtr;
36 typedef struct _FontAliasEntry	    *FontAliasEntryPtr;
37 typedef struct _FontBCEntry	    *FontBCEntryPtr;
38 typedef struct _FontDirectory	    *FontDirectoryPtr;
39 typedef struct _FontRenderer	    *FontRendererPtr;
40 
41 #define NullFontEntry		    ((FontEntryPtr) 0)
42 #define NullFontTable		    ((FontTablePtr) 0)
43 #define NullFontName		    ((FontNamePtr) 0)
44 #define NullFontScaled		    ((FontScaled) 0)
45 #define NullFontScalableExtra	    ((FontScalableExtra) 0)
46 #define NullFontscalableEntry	    ((FontScalableEntry) 0)
47 #define NullFontScaleAliasEntry	    ((FontScaleAliasEntry) 0)
48 #define NullFontBitmapEntry	    ((FontBitmapEntry) 0)
49 #define NullFontAliasEntry	    ((FontAliasEntry) 0)
50 #define NullFontBCEntry		    ((FontBCEntry) 0)
51 #define NullFontDirectory	    ((FontDirectoryPtr) 0)
52 #define NullFontRenderer	    ((FontRendererPtr) 0)
53 
54 #define FONT_ENTRY_SCALABLE	0
55 #define FONT_ENTRY_SCALE_ALIAS	1
56 #define FONT_ENTRY_BITMAP	2
57 #define FONT_ENTRY_ALIAS	3
58 #define FONT_ENTRY_BC		4
59 
60 #define MAXFONTNAMELEN	    1024
61 #define MAXFONTFILENAMELEN  1024
62 
63 #define FontDirFile	    "fonts.dir"
64 #define FontAliasFile	    "fonts.alias"
65 #define FontScalableFile    "fonts.scale"
66 
67 extern FontEntryPtr	FontFileFindNameInDir ();
68 extern FontDirectoryPtr	FontFileMakeDir ();
69 extern FontRendererPtr	FontFileMatchRenderer ();
70 extern char		*SaveString ();
71 extern FontScaledPtr	FontFileFindScaledInstance ();
72 #endif /* _FONTFILE_H_ */
73