extern double fonta,fontb,fontc,fontd,fonte,fontf;
extern int numputs;
extern char *ndefstr;
extern int echo;
extern struct stelem mstack[500];
extern int bw;
extern struct idlist *idbase;
extern int allowed;
extern int doffset;
extern struct userdict *dictstack[20];
extern int globc;
extern double dgc;
extern double mzx,mzy;
extern int clsd;
extern int exx;
extern int escpress;
extern jmp_buf env;
extern int flag;
extern int ind;
extern int cb;
extern int rb;
extern int esc;
extern double cx;
extern double cy;
extern int cpath;
extern int drti;
extern double cline;
extern double freq,ang,prc;
extern double tim;
extern char used[230];
extern double t1[64],t2[64],t3[64];
extern double sintab[720],costab[720];
extern double tma,tmb,tmc,tmd,tmx,tmy;
extern int pjoin;
extern char *acc[];
extern struct gpath *baseg;
extern struct gpath *nextg;
extern struct gstate *currgs;
extern double x,y;
extern struct arrele *ctm;
extern struct stelem *current;
extern double pullnum(void);
extern double pullpnum(void);
extern struct idlist *pullname(void);
extern char *pullspec(void);
extern int offset;
extern char *systemdict[];
extern struct arrele *stenca;
extern struct userdict *fontdir;

extern void readfontmat(void);
extern void pchar(struct charlist *, int);
extern struct idlist *findop(char *);
extern int insys(char *);
extern double rad(double);
extern double deg(double);
extern void startup(char *);
extern char *ftos(double);
extern void getxy(void);
extern void setgray(double);
extern void setcol(void);
extern void doclg(void);
extern void doaoe(int);
extern void setmat(struct arrele*,double,double,double,double,double,double);
extern struct arrele *inverse(struct arrele *, struct arrele *);
extern void doinvmat(void);
extern void pdub(struct gpath *, struct arrele *);
extern void sttod(struct stelem *, struct usere *);
extern struct arrele *whicht(int);
extern void changectm(int);
extern struct userdict *pulldict(void);
extern struct fontdict *pullspdict(void);
extern int cotm(void);
extern void pushele(struct stelem *);
extern char *save(char *);
extern void seterror(char *);
extern void undef(void);
extern int hex(char);
extern int tohex(int);
extern struct arrele *createarray(int);
extern void deletearray(struct arrele *);
extern void dpush(void);
extern struct userdict *dcreate(int);
extern void pushst(struct stelem *);
extern void pushnum(double);
extern void pushspec(char *);
extern void pushname(struct idlist *);
extern void pushrs(struct strdef *);
extern void pushms(char *, int);
extern void pushdict(struct userdict *);
extern void pushspdict(struct fontdict *);
extern void pushbool(int);
extern void pushfile(struct phile *);
extern void pushmark(void);
extern void pushnull(void);
extern void pusharray(struct arrele *);
extern void pushproc(struct arrele *);
extern void pushgraph(void);
extern void linejoin(void);
extern void linecap(double,double,double,double,double);
extern void tplot(int, double, double);
extern void dcur(void);
extern void doelement(void);
extern void pathelem(char, double, double);
extern struct arrele *concat(struct arrele *,struct arrele *, struct arrele *);
extern void graph(char, double, double);
extern void addtodict(struct usere *,struct userdict *,struct idlist *);
extern void dstrip(struct usere *);
extern void pdict(struct usere *);
extern void pse(struct stelem *);
extern void pstack(void);
extern void pull(void);
extern double pullnum(void);
extern struct strdef *pullrs(void);
extern struct phile *pullfile(void);
extern struct arrele *pullarray(void);
extern struct arrele *pullproc(void);
extern int pullbool(void);
extern int pullgraph(void);
extern char *left(char *, int);
extern char *right(char *, int);
extern void dooproc(struct arrele *);
extern struct arrele *bind(struct arrele *);
extern void single(char *);
extern void readctm(struct arrele *);
extern void startfill(int);
