extern	int	TROFF;

extern	int	alphabet;
extern	char	**argp;
extern	char	*eibuf;
extern	char	*ibufp;
extern	char	*obufp;
extern	char	*unlkp;
extern	char	*xbufp;
extern	char	*xeibuf;
extern	char	cfname[NSO+1][NS];
extern  int	trace;
extern	char	devname[];
extern	char	ibuf[IBUFSZ];
extern	char	mfiles[NMF][NS];
extern	char	nextf[];
extern	char	obuf[];
extern	char	termtab[];
extern	char	fontdir[];
extern	Font	fonts[MAXFONTS+1];
extern	char	xbuf[IBUFSZ];
extern	Offset	apptr;
extern	Offset	ip;
extern	Offset	nextb;
extern	Offset	offset;
extern	Offset	woff;
extern	Numerr	numerr;
extern	int	*pnp;
extern	int	pstab[];
extern	int	nsizes;
extern	int	app;
extern	int	ascii;
extern	int	bd;
extern	int	bdtab[];
extern	int	ccs;
extern	char	*chnames[];	/* chnames[n-ALPHABET] -> name of char n */
extern	int	copyf;
extern	int	cs;
extern	int	dfact;
extern	int	dfactd;
extern	int	diflg;
extern	int	dilev;
extern	int	donef;
extern	int	dotT;
extern	int	dpn;
extern	int	ds;
extern	int	ejf;
extern	int	em;
extern	int	eqflg;
extern	int	error;
extern	int	esc;
extern	int	eschar;
extern	int	ev;
extern	int	evi;
extern	int	evlist[EVLSZ];
extern	int	fc;
extern	int	flss;
extern	int	fontlab[];
extern	int	hflg;
extern	int	ibf;
extern	int	ifi;
extern	int	iflg;
extern	int	init;
extern	int	lead;
extern	int	lg;
extern	int	lgf;
extern	int	macerr;
extern	int	mflg;
extern	int	mfont;
extern	int	mlist[NTRAP];
extern	int	mpts;
extern	int	nchnames;
extern	int	ndone;
extern	int	newmn;
extern	int	nflush;
extern	int	nfo;
extern	int	nfonts;
extern	int	nform;
extern	int	nhyp;
extern	int	nlflg;
extern	int	nlist[NTRAP];
extern	int	nmfi;
extern	int	nonumb;
extern	int	noscale;
extern	int	npn;
extern	int	npnflg;
extern	int	nx;
extern	int	oldbits;
extern	int	oldmn;
extern	int	over;
extern	int	padc;
extern	int	pfont;
extern	int	pfrom;
extern	int	pipeflg;
extern	int	pl;
extern	int	pnlist[];
extern	int	po1;
extern	int	po;
extern	int	ppts;
extern	int	print;
extern	FILE	*ptid;
extern	int	pto;
extern	int	quiet;
extern	int	ralss;
extern	int	rargc;
extern	int	raw;
extern	int	res;
extern	int	sbold;
extern	int	setwdf;
extern	int	sfont;
extern	int	smnt;
extern	int	stdi;
extern	int	stop;
extern	int	sv;
extern	int	tabch,	ldrch;
extern	int	tflg;
extern	int	totout;
extern	int	trap;
extern	Ushort	trtab[];
extern	int	tty;
extern	int	ulfont;
extern	int	vflag;
extern	int	whichroff;
extern	int	widthp;
extern	int	xfont;
extern	int	xpts;
extern	Stack	*ejl;
extern	Stack	*frame;
extern	Stack	*stk;
extern	Stack	*nxf;
extern	Tchar	**hyp;
extern	Tchar	*olinep;
extern	Tchar	pbbuf[NC];
extern	Tchar	*pbp;
extern	Tchar	*lastpbp;
extern	Tchar	ch;
extern	Tchar	nrbits;
extern	Tbuf	_oline;
extern	Wcache	widcache[];
extern	char	gchtab[];
extern	Diver	d[NDI];
extern	Diver	*dip;


extern	char	xchname[];
extern	short	xchtab[];
extern	char	*codestr;
extern	char	*chnamep;
extern	short	*chtab;
extern	int	nchtab;

extern Numtab *numtabp;

/* these characters are used as various signals or values
/* in miscellaneous places.
/* values are set in specnames in t10.c
*/

extern int	c_hyphen;
extern int	c_emdash;
extern int	c_rule;
extern int	c_minus;
extern int	c_fi;
extern int	c_fl;
extern int	c_ff;
extern int	c_ffi;
extern int	c_ffl;
extern int	c_acute;
extern int	c_grave;
extern int	c_under;
extern int	c_rooten;
extern int	c_boxrule;
extern int	c_lefthand;
extern int	c_dagger;
extern int	c_isalnum;

/*
 * String pointers for DWB pathname management.
 */

extern char	*DWBfontdir;
extern char	*DWBntermdir;
extern char	*DWBalthyphens;

