123887Sjaap #ifndef lint
2*64044Sbostic /*
338595Sjaap static char sccsid[] = "@(#)ni.c	2.3 (CWI) 89/08/14";
4*64044Sbostic */
5*64044Sbostic static char sccsid[] = "@(#)ni.c	2.4 (Berkeley) 07/27/93";
623887Sjaap #endif lint
723887Sjaap #include "tdef.h"
8*64044Sbostic #include "pathnames.h"
923887Sjaap 
1023887Sjaap /* You may want to change these names */
1123887Sjaap 
1223909Sjaap #ifdef NROFF
1323909Sjaap 
14*64044Sbostic char	termtab[NS] = _PATH_TERMTAB;
1529788Sjaap 					/* term type added in ptinit() */
1623909Sjaap char	fontfile[NS] = "";	/* not used */
1723909Sjaap char	devname[20] = "37";
1823909Sjaap 
1923909Sjaap #else
2023909Sjaap 
21*64044Sbostic char	termtab[NS] = _PATH_FONTS;	/* rest added in ptinit() */
22*64044Sbostic char	fontfile[NS] = _PATH_FONTS;	/* rest added in casefp() */
2338595Sjaap char	devname[20]	 = "psc";	/* default typesetter */
2423909Sjaap 
2523887Sjaap #endif
2623909Sjaap struct numtab numtab[NN] = {
2723909Sjaap 	{ PAIR('%', 0) },
2823909Sjaap 	{ PAIR('n', 'l') },
2923909Sjaap 	{ PAIR('y', 'r') },
3023909Sjaap 	{ PAIR('h', 'p') },
3123909Sjaap 	{ PAIR('c', 't') },
3223909Sjaap 	{ PAIR('d', 'n') },
3323909Sjaap 	{ PAIR('m', 'o') },
3423909Sjaap 	{ PAIR('d', 'y') },
3523909Sjaap 	{ PAIR('d', 'w') },
3623909Sjaap 	{ PAIR('l', 'n') },
3723909Sjaap 	{ PAIR('d', 'l') },
3823909Sjaap 	{ PAIR('s', 't') },
3923909Sjaap 	{ PAIR('s', 'b') },
4023909Sjaap 	{ PAIR('c', '.') },
4123909Sjaap 	{ PAIR('$', '$') },
4223887Sjaap };
4323887Sjaap 
4423887Sjaap 
4523887Sjaap int	pto = 10000;
4623887Sjaap int	pfrom = 1;
4723887Sjaap int	print = 1;
48*64044Sbostic char	nextf[NS] = _PATH_TMAC;
4923887Sjaap #ifndef NROFF
5023887Sjaap int	oldbits = -1;
5123887Sjaap #endif
5223887Sjaap int	init = 1;
5323887Sjaap int	fc = IMP;	/* field character */
5423887Sjaap int	eschar = '\\';
5523887Sjaap #ifdef	NROFF
5623887Sjaap int	pl = 11*INCH;
5723887Sjaap int	po = PO;
5823887Sjaap #else
5923887Sjaap int	pl;
6023887Sjaap int	po;
6123887Sjaap #endif
6223887Sjaap int	dfact = 1;
6323887Sjaap int	dfactd = 1;
6423887Sjaap int	res = 1;
6523887Sjaap int	smnt = 0;	/* beginning of special fonts */
6623887Sjaap int	ascii = ASCII;
67*64044Sbostic FILE	*ptid = stdout;
6823887Sjaap int	lg = LG;
6923909Sjaap int	pnlist[NPN] = { -1 };
7023887Sjaap 
7123887Sjaap 
7223887Sjaap int	*pnp = pnlist;
7323887Sjaap int	npn = 1;
7423887Sjaap int	npnflg = 1;
7523887Sjaap int	dpn = -1;
7623887Sjaap int	totout = 1;
7723909Sjaap int	ulfont = ULFONT;
7823887Sjaap int	tabch = TAB;
7923887Sjaap int	ldrch = LEADER;
8023909Sjaap 
8123909Sjaap extern    caseds(), caseas(), casesp(), caseft(), caseps(), casevs(),
8223887Sjaap casenr(), caseif(), casepo(), casetl(), casetm(), casebp(), casech(),
8323887Sjaap casepn(), tbreak(), caseti(), casene(), casenf(), casece(), casefi(),
8423887Sjaap casein(), casell(), casens(), casemk(), casert(), caseam(),
8523887Sjaap casede(), casedi(), caseda(), casewh(), casedt(), caseit(), caserm(),
8623887Sjaap casern(), casead(), casers(), casena(), casepl(), caseta(), casetr(),
8723887Sjaap caseul(), caselt(), casenx(), caseso(), caseig(), casetc(), casefc(),
8823887Sjaap caseec(), caseeo(), caselc(), caseev(), caserd(), caseab(), casefl(),
8923909Sjaap done(),   casess(), casefp(), casecs(), casebd(), caselg(), casehc(),
9023887Sjaap casehy(), casenh(), casenm(), casenn(), casesv(), caseos(), casels(),
9123887Sjaap casecc(), casec2(), caseem(), caseaf(), casehw(), casemc(), casepm(),
9223887Sjaap casecu(), casepi(), caserr(), caseuf(), caseie(), caseel(), casepc(),
9323909Sjaap caseht(), casecf(), casesy(), caself(), caseha();
9423887Sjaap 
9523909Sjaap #define	C(a,b)	{a, 0, b, 0}
9623909Sjaap struct contab contab[NM] = {
9723909Sjaap 	C(PAIR('d', 's'), caseds),
9823909Sjaap 	C(PAIR('a', 's'), caseas),
9923909Sjaap 	C(PAIR('s', 'p'), casesp),
10023909Sjaap 	C(PAIR('f', 't'), caseft),
10123909Sjaap 	C(PAIR('p', 's'), caseps),
10223909Sjaap 	C(PAIR('v', 's'), casevs),
10323909Sjaap 	C(PAIR('n', 'r'), casenr),
10423909Sjaap 	C(PAIR('i', 'f'), caseif),
10523909Sjaap 	C(PAIR('i', 'e'), caseie),
10623909Sjaap 	C(PAIR('e', 'l'), caseel),
10723909Sjaap 	C(PAIR('p', 'o'), casepo),
10823909Sjaap 	C(PAIR('t', 'l'), casetl),
10923909Sjaap 	C(PAIR('t', 'm'), casetm),
11023909Sjaap 	C(PAIR('b', 'p'), casebp),
11123909Sjaap 	C(PAIR('c', 'h'), casech),
11223909Sjaap 	C(PAIR('p', 'n'), casepn),
11323909Sjaap 	C(PAIR('b', 'r'), tbreak),
11423909Sjaap 	C(PAIR('t', 'i'), caseti),
11523909Sjaap 	C(PAIR('n', 'e'), casene),
11623909Sjaap 	C(PAIR('n', 'f'), casenf),
11723909Sjaap 	C(PAIR('c', 'e'), casece),
11823909Sjaap 	C(PAIR('f', 'i'), casefi),
11923909Sjaap 	C(PAIR('i', 'n'), casein),
12023909Sjaap 	C(PAIR('l', 'l'), casell),
12123909Sjaap 	C(PAIR('n', 's'), casens),
12223909Sjaap 	C(PAIR('m', 'k'), casemk),
12323909Sjaap 	C(PAIR('r', 't'), casert),
12423909Sjaap 	C(PAIR('a', 'm'), caseam),
12523909Sjaap 	C(PAIR('d', 'e'), casede),
12623909Sjaap 	C(PAIR('d', 'i'), casedi),
12723909Sjaap 	C(PAIR('d', 'a'), caseda),
12823909Sjaap 	C(PAIR('w', 'h'), casewh),
12923909Sjaap 	C(PAIR('d', 't'), casedt),
13023909Sjaap 	C(PAIR('i', 't'), caseit),
13123909Sjaap 	C(PAIR('r', 'm'), caserm),
13223909Sjaap 	C(PAIR('r', 'r'), caserr),
13323909Sjaap 	C(PAIR('r', 'n'), casern),
13423909Sjaap 	C(PAIR('a', 'd'), casead),
13523909Sjaap 	C(PAIR('r', 's'), casers),
13623909Sjaap 	C(PAIR('n', 'a'), casena),
13723909Sjaap 	C(PAIR('p', 'l'), casepl),
13823909Sjaap 	C(PAIR('t', 'a'), caseta),
13923909Sjaap 	C(PAIR('t', 'r'), casetr),
14023909Sjaap 	C(PAIR('u', 'l'), caseul),
14123909Sjaap 	C(PAIR('c', 'u'), casecu),
14223909Sjaap 	C(PAIR('l', 't'), caselt),
14323909Sjaap 	C(PAIR('n', 'x'), casenx),
14423909Sjaap 	C(PAIR('s', 'o'), caseso),
14523909Sjaap 	C(PAIR('i', 'g'), caseig),
14623909Sjaap 	C(PAIR('t', 'c'), casetc),
14723909Sjaap 	C(PAIR('f', 'c'), casefc),
14823909Sjaap 	C(PAIR('e', 'c'), caseec),
14923909Sjaap 	C(PAIR('e', 'o'), caseeo),
15023909Sjaap 	C(PAIR('l', 'c'), caselc),
15123909Sjaap 	C(PAIR('e', 'v'), caseev),
15223909Sjaap 	C(PAIR('r', 'd'), caserd),
15323909Sjaap 	C(PAIR('a', 'b'), caseab),
15423909Sjaap 	C(PAIR('f', 'l'), casefl),
15523909Sjaap 	C(PAIR('e', 'x'), done),
15623909Sjaap 	C(PAIR('s', 's'), casess),
15723909Sjaap 	C(PAIR('f', 'p'), casefp),
15823909Sjaap 	C(PAIR('c', 's'), casecs),
15923909Sjaap 	C(PAIR('b', 'd'), casebd),
16023909Sjaap 	C(PAIR('l', 'g'), caselg),
16123909Sjaap 	C(PAIR('h', 'c'), casehc),
16223909Sjaap 	C(PAIR('h', 'y'), casehy),
16323909Sjaap 	C(PAIR('n', 'h'), casenh),
16423909Sjaap 	C(PAIR('n', 'm'), casenm),
16523909Sjaap 	C(PAIR('n', 'n'), casenn),
16623909Sjaap 	C(PAIR('s', 'v'), casesv),
16723909Sjaap 	C(PAIR('o', 's'), caseos),
16823909Sjaap 	C(PAIR('l', 's'), casels),
16923909Sjaap 	C(PAIR('c', 'c'), casecc),
17023909Sjaap 	C(PAIR('c', '2'), casec2),
17123909Sjaap 	C(PAIR('e', 'm'), caseem),
17223909Sjaap 	C(PAIR('a', 'f'), caseaf),
17323909Sjaap 	C(PAIR('h', 'w'), casehw),
17423909Sjaap 	C(PAIR('m', 'c'), casemc),
17523909Sjaap 	C(PAIR('p', 'm'), casepm),
17623909Sjaap 	C(PAIR('p', 'i'), casepi),
17723909Sjaap 	C(PAIR('u', 'f'), caseuf),
17823909Sjaap 	C(PAIR('p', 'c'), casepc),
17923909Sjaap 	C(PAIR('h', 't'), caseht),
18023909Sjaap 	C(PAIR('c', 'f'), casecf),
18123909Sjaap 	C(PAIR('s', 'y'), casesy),
18223909Sjaap 	C(PAIR('l', 'f'), caself),
18323909Sjaap 	C(PAIR('!',  0 ), casesy),	/* synonym for .sy */
18423909Sjaap 	C(PAIR('h', 'a'), caseha),	/* select hyphenation, (jaap) */
18523887Sjaap };
18623887Sjaap 
18723887Sjaap 
18823887Sjaap tchar oline[LNSIZE+1];
18923887Sjaap 
19023887Sjaap /*
19123909Sjaap  * troff environment block
19223909Sjaap  *
19323909Sjaap  * If you change this, don't forget to update tdef.h (jaap)
19423909Sjaap  */
19523887Sjaap 
196*64044Sbostic struct	env env_array[NEV] = {
197*64044Sbostic {
19823909Sjaap /* int	ics	 */	0,
19923909Sjaap /* int	sps	 */	0,
20023909Sjaap /* int	spacesz	 */	0,
20123909Sjaap /* int	lss	 */	0,
20223909Sjaap /* int	lss1	 */	0,
20323909Sjaap /* int	ll	 */	0,
20423909Sjaap /* int	ll1	 */	0,
20523909Sjaap /* int	lt	 */	0,
20623909Sjaap /* int	lt1	 */	0,
20723909Sjaap /* tchar	i*/	0,	/* insertion character (/* = margin character) */
20823909Sjaap /* int	icf	 */	0,
20923909Sjaap /* tchar	chbits	 */	0,	/* size+font bits for current character */
21023909Sjaap /* tchar	spbits	 */	0,
21123909Sjaap /* tchar	nmbits	 */	0,
21223909Sjaap /* int	apts	 */	PS,	/* actual point size -- as requested by user */
21323909Sjaap /* int	apts1	 */	PS,	/* need not match an existent size */
21423909Sjaap /* int	pts	 */	PS,	/* hence, this is the size that really exists */
21523909Sjaap /* int	pts1	 */	PS,
21623909Sjaap /* int	font	 */	FT,
21723909Sjaap /* int	font1	 */	FT,
21823909Sjaap /* int	ls	 */	1,
21923909Sjaap /* int	ls1	 */	1,
22023909Sjaap /* int	ad	 */	1,
22123909Sjaap /* int	nms	 */	1,
22223909Sjaap /* int	ndf	 */	1,
22323909Sjaap /* int	fi	 */	1,
22423909Sjaap /* int	cc	 */	'.',
22523909Sjaap /* int	c2	 */	'\'',
22623909Sjaap /* int	ohc	 */	OHC,
22723909Sjaap /* int	tdelim	 */	IMP,
22823909Sjaap #ifdef NROFF
22923909Sjaap /* int	hyf	 */	0,
23023887Sjaap #else
23123909Sjaap /* int	hyf	 */	1,
23223887Sjaap #endif
23323909Sjaap /* int	hyoff	 */	0,
23423909Sjaap /* int	hyalg	 */	ORIGINAL,	/* Default hyphenation style (jaap)*/
23523909Sjaap /* int	hyalg1	 */	ORIGINAL,
23623909Sjaap /* int	thresh	 */	THRESH,		/* now part of environment (jaap) */
23723909Sjaap /* int	un1	 */	-1,
23823909Sjaap /* int	tabc	 */	0,
23923909Sjaap /* int	dotc	 */	'.',
24023909Sjaap /* int	adsp	 */	0,
24123909Sjaap /* int	adrem	 */	0,
24223909Sjaap /* int	lastl	 */	0,
24323909Sjaap /* int	nel	 */	0,
24423909Sjaap /* int	admod	 */	0,
24523909Sjaap /* tchar	*wordp	 */	0,
24623909Sjaap /* int	spflg	 */	0,	/* probably to indicate space after punctuation needed */
24723909Sjaap /* tchar	*linep	 */	0,
24823909Sjaap /* tchar	*wdend	 */	0,
24923909Sjaap /* tchar	*wdstart	 */	0,
25023909Sjaap /* int	wne	 */	0,
25123909Sjaap /* int	ne	 */	0,
25223909Sjaap /* int	nc	 */	0,
25323909Sjaap /* int	nb	 */	0,
25423909Sjaap /* int	lnmod	 */	0,
25523909Sjaap /* int	nwd	 */	0,
25623909Sjaap /* int	nn	 */	0,
25723909Sjaap /* int	ni	 */	0,
25823909Sjaap /* int	ul	 */	0,
25923909Sjaap /* int	cu	 */	0,
26023909Sjaap /* int	ce	 */	0,
26123909Sjaap /* int	in	 */	0,
26223909Sjaap /* int	in1	 */	0,
26323909Sjaap /* int	un	 */	0,
26423909Sjaap /* int	wch	 */	0,
26523909Sjaap /* int	pendt	 */	0,
26623909Sjaap /* tchar	*pendw	 */	(tchar *)0,
26723909Sjaap /* int	pendnf	 */	0,
26823909Sjaap /* int	spread	 */	0,
26923909Sjaap /* int	it	 */	0,
27023909Sjaap /* int	itmac	 */	0,
27123909Sjaap /* int	lnsize	 */	LNSIZE,
272*64044Sbostic },
27323909Sjaap };
274*64044Sbostic 
275*64044Sbostic struct env *env = &env_array[0];
276