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