a.h (790B)
1 typedef struct XFont XFont; 2 XFont *xfont; 3 int nxfont; 4 5 enum { 6 SubfontSize = 32, 7 MaxSubfont = (Runemax+1)/SubfontSize, 8 }; 9 10 struct XFont 11 { 12 char *name; 13 int loaded; 14 uchar range[MaxSubfont]; // range[i] = fontfile starting at i*SubfontSize exists 15 ushort file[MaxSubfont]; // file[i] == fontfile i's lo rune / SubfontSize 16 int nfile; 17 int unit; 18 double height; 19 double originy; 20 void (*loadheight)(XFont*, int, int*, int*); 21 char *fonttext; 22 int nfonttext; 23 24 // fontconfig workarround, as FC_FULLNAME does not work for matching fonts. 25 char *fontfile; 26 int index; 27 }; 28 29 void loadfonts(void); 30 void load(XFont*); 31 Memsubfont* mksubfont(XFont*, char*, int, int, int, int); 32 33 extern XFont *xfont; 34 extern int nxfont; 35 void *emalloc9p(ulong); 36 37 void drawpjw(Memimage*, Fontchar*, int, int, int, int);