xref: /plan9/sys/src/cmd/eqn/glob.c (revision 3e12c5d1bb89fc02707907988834ef147769ddaf)
1*3e12c5d1SDavid du Colombier #include "e.h"
2*3e12c5d1SDavid du Colombier 
3*3e12c5d1SDavid du Colombier 	/* YOU MAY WANT TO CHANGE THIS */
4*3e12c5d1SDavid du Colombier char	*typesetter = "post";	/* type of typesetter today */
5*3e12c5d1SDavid du Colombier int	ttype	= DEVPOST;
6*3e12c5d1SDavid du Colombier int	minsize	= 4;		/* min size it can handle */
7*3e12c5d1SDavid du Colombier 
8*3e12c5d1SDavid du Colombier 
9*3e12c5d1SDavid du Colombier int	dbg;		/* debugging print if non-zero */
10*3e12c5d1SDavid du Colombier int	lp[200];	/* stack for things like piles and matrices */
11*3e12c5d1SDavid du Colombier int	ct;		/* pointer to lp */
12*3e12c5d1SDavid du Colombier int	used[100];	/* available registers */
13*3e12c5d1SDavid du Colombier int	ps;		/* default init point size */
14*3e12c5d1SDavid du Colombier int	deltaps	= 3;	/* default change in ps */
15*3e12c5d1SDavid du Colombier int	dps_set = 0;	/* 1 => -p option used */
16*3e12c5d1SDavid du Colombier int	gsize	= 10;	/* default initial point size */
17*3e12c5d1SDavid du Colombier int	ft	= '2';
18*3e12c5d1SDavid du Colombier Font	ftstack[10] = { '2', "2" };	/* bottom is global font */
19*3e12c5d1SDavid du Colombier Font	*ftp	= ftstack;
20*3e12c5d1SDavid du Colombier int	szstack[10];	/* non-zero if absolute size set at this level */
21*3e12c5d1SDavid du Colombier int	nszstack = 0;
22*3e12c5d1SDavid du Colombier int	display	= 0;	/* 1=>display, 0=>.EQ/.EN */
23*3e12c5d1SDavid du Colombier 
24*3e12c5d1SDavid du Colombier int	synerr;		/* 1 if syntax err in this eqn */
25*3e12c5d1SDavid du Colombier double	eht[100];	/* height in ems at gsize */
26*3e12c5d1SDavid du Colombier double	ebase[100];	/* base: where one enters above bottom */
27*3e12c5d1SDavid du Colombier int	lfont[100];	/* leftmost and rightmost font associated with this thing */
28*3e12c5d1SDavid du Colombier int	rfont[100];
29*3e12c5d1SDavid du Colombier int	lclass[100];	/* leftmost and rightmost class associated with this thing */
30*3e12c5d1SDavid du Colombier int	rclass[100];
31*3e12c5d1SDavid du Colombier int	eqnreg;		/* register where final string appears */
32*3e12c5d1SDavid du Colombier double	eqnht;		/* final height of equation */
33*3e12c5d1SDavid du Colombier int	lefteq	= '\0';	/* left in-line delimiter */
34*3e12c5d1SDavid du Colombier int	righteq	= '\0';	/* right in-line delimiter */
35*3e12c5d1SDavid du Colombier int	markline = 0;	/* 1 if this EQ/EN contains mark; 2 if lineup */
36