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