Blob


1 typedef struct XFont XFont;
2 XFont *xfont;
3 int nxfont;
5 enum {
6 SubfontSize = 32,
7 MaxSubfont = (Runemax+1)/SubfontSize,
8 };
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;
24 // fontconfig workarround, as FC_FULLNAME does not work for matching fonts.
25 char *fontfile;
26 int index;
27 };
29 void loadfonts(void);
30 void load(XFont*);
31 Memsubfont* mksubfont(XFont*, char*, int, int, int, int);
33 extern XFont *xfont;
34 extern int nxfont;
35 void *emalloc9p(ulong);
37 void drawpjw(Memimage*, Fontchar*, int, int, int, int);