plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

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);