#define CACHE_MLIMIT 50 #define CACHE_CLIMIT 190 #ifdef FAX #define CACHE_SPACE 390000 #define CACHE_BLIMIT 800 #else #ifdef HIRES #define CACHE_SPACE 1100000 #define CACHE_BLIMIT 6000 #else #define CACHE_SPACE 1000000 #define CACHE_BLIMIT 300 #endif #endif struct cachefont{ struct object cfontid; struct object cfonts; double cmatrix[4]; struct Bitmap *charbits; int cwidth, cheight; int charno; int sequence; int internal; struct pspoint origin, upper; struct chars { Rectangle edges; double yadj; /*adjustment for +90 degree rotation*/ double texy; /*adjustment for tex imagemask*/ double xadj; /*italic xleft*/ int lastused; int value; double gwidth, gheight; }cachec[CACHE_CLIMIT]; }; extern int Fonts; extern int blimit; extern struct cachefont *currentcache, cachefont[]; void clipchar(double, double, double, double); int smallpath(double, double); int findfno(void); void mcachechar(void); int putcachech(void); void putfcache(int, double, double, double, double); int getbytes(double, double, double, double); Bitmap *cachealloc(Rectangle); extern int texfont, fw, fh; extern struct pspoint forigin;