1 #ifndef __tkgate_fonts_h 2 #define __tkgate_fonts_h 3 4 #include <X11/Xlib.h> 5 6 /* 7 * Font family codes 8 */ 9 typedef enum _FontFamily_t { 10 FF_COURIER = 0, 11 #define FF_COURIER FF_COURIER 12 FF_HELVETICA = 1, 13 #define FF_HELVETICA FF_HELVETICA 14 FF_TIMES = 2, 15 #define FF_TIMES FF_TIMES 16 FF_SYMBOL = 3, 17 #define FF_SYMBOL FF_SYMBOL 18 FF_NOKANJI_MAX = 4, 19 #define FF_NOKANJI_MAX FF_NOKANJI_MAX 20 #define FF_KANJI 4 21 FF_MAX = 5 22 #define FF_MAX FF_MAX 23 } fontfamily_t; 24 25 /* 26 * Font property codes 27 */ 28 typedef enum _FontProperty_t { 29 FP_ROMAN = 0, 30 #define FP_ROMAN FP_ROMAN 31 FP_BOLD = 1, 32 #define FP_BOLD FP_BOLD 33 FP_ITALIC = 2, 34 #define FP_ITALIC FP_ITALIC 35 FP_MAX = 4 36 #define FP_MAX FP_MAX 37 } fontprop_t; 38 39 /* 40 * Font size codes 41 */ 42 typedef enum _FontSize_t { 43 FS_TINY = 0, 44 #define FS_TINY FS_TINY 45 FS_VSMALL, 46 #define FS_VSMALL FS_VSMALL 47 FS_SMALL, 48 #define FS_SMALL FS_SMALL 49 FS_NORMAL, 50 #define FS_NORMAL FS_NORMAL 51 FS_LARGE, 52 #define FS_LARGE FS_LARGE 53 FS_HUGE, 54 #define FS_HUGE FS_HUGE 55 FS_XHUGE, 56 #define FS_XHUGE FS_XHUGE 57 FS_MAX 58 #define FS_MAX FS_MAX 59 } fontsize_t; 60 61 typedef struct _GateFont { 62 fontfamily_t family; 63 fontprop_t prop; 64 fontsize_t size; 65 } GateFont; 66 67 typedef struct _GateFontMetrics { 68 int ascent; 69 int descent; 70 } GateFontMetrics; 71 72 XFontStruct *_GetXFont(fontfamily_t ff,fontprop_t fp,fontsize_t fs,int zoom); 73 XFontStruct *GetXFont(GateFont,int zoom); 74 XFontStruct **GetXFonts(fontfamily_t,fontprop_t,fontsize_t); 75 void UnloadAllFonts(); 76 77 int getKanjiFontSize(int fs); 78 int getFontSize(int fs); 79 const char *getFontFamilyName(fontfamily_t ff); 80 81 #endif 82