1: #include "sdef.h" 2: char obuf[OBUFSZ]; 3: char *obufp = obuf; 4: int r[NN] = { 5: PAIR('%',0), 6: PAIR('n','l'), 7: PAIR('y','r'), 8: PAIR('h','p'), 9: PAIR('c','t'), 10: PAIR('d','n'), 11: PAIR('m','o'), 12: PAIR('d','y'), 13: PAIR('d','w'), 14: PAIR('l','n'), 15: PAIR('d','l'), 16: PAIR('s','t'), 17: PAIR('s','b'), 18: PAIR('c','.')}; 19: int pto = 10000; 20: int pfrom = 1; 21: int print = 1; 22: char nextf[NS] = "/usr/lib/tmac/tmac.xxxxxxxxxxxxxxxxxxxx"; 23: int nfi = 19; 24: char fontlib[NS] = "/usr/lib/sfont/xxxxxxxxxxxxx"; 25: int tti = 15; 26: int init = 1; 27: int fc = IMP; 28: int eschar = '\\'; 29: int pl = 11*INCH; 30: int po = PO; 31: int dfact = 1; 32: int dfactd = 1; 33: int ptid = PTID; 34: char ptname[] = "/dev/sanders"; 35: int lg = LG; 36: int pnlist[NPN] = {-1}; 37: int *pnp = pnlist; 38: int npn = 1; 39: int npnflg = 1; 40: int xflg = 1; 41: int totout = 1; 42: int physfont = -1; /* physical font, mjk; force initial font change */ 43: int tabch = TAB; 44: int ldrch = LEADER; 45: int xxx; 46: extern caseds(), caseas(), casesp(), caseft(), caseps(), casevs(), 47: casenr(), caseif(), casepo(), casetl(), casetm(), casebp(), casech(), 48: casepn(), tbreak(), caseti(), casene(), casenf(), casece(), casefi(), 49: casein(), caseli(), casell(), casens(), casemk(), casert(), caseam(), 50: casede(), casedi(), caseda(), casewh(), casedt(), caseit(), caserm(), 51: casern(), casead(), casers(), casena(), casepl(), caseta(), casetr(), 52: caseul(), caselt(), casenx(), caseso(), caseig(), casetc(), casefc(), 53: caseec(), caseeo(), caselc(), caseev(), caserd(), caseab(), casefl(), 54: done(), casess(), casefp(), casecs(), casebd(), caselg(), casehc(), 55: casehy(), casenh(), casenm(), casenn(), casesv(), caseos(), casels(), 56: casecc(), casec2(), caseem(), caseaf(), casehw(), casemc(), casepm(), 57: casecu(), casepi(), caserr(), caseuf(), caseie(), caseel(), casepc(), 58: caseht(); 59: extern casecf(); 60: struct contab { 61: int rq; 62: /* 63: union { 64: */ 65: int (*f)(); 66: /* 67: unsigned mx; 68: }x; 69: */ 70: }contab[NM]= { 71: PAIR('d','s'),caseds, 72: PAIR('a','s'),caseas, 73: PAIR('s','p'),casesp, 74: PAIR('f','t'),caseft, 75: PAIR('p','s'),caseps, 76: PAIR('v','s'),casevs, 77: PAIR('n','r'),casenr, 78: PAIR('i','f'),caseif, 79: PAIR('i','e'),caseie, 80: PAIR('e','l'),caseel, 81: PAIR('p','o'),casepo, 82: PAIR('t','l'),casetl, 83: PAIR('t','m'),casetm, 84: PAIR('b','p'),casebp, 85: PAIR('c','h'),casech, 86: PAIR('p','n'),casepn, 87: PAIR('b','r'),tbreak, 88: PAIR('t','i'),caseti, 89: PAIR('n','e'),casene, 90: PAIR('n','f'),casenf, 91: PAIR('c','e'),casece, 92: PAIR('f','i'),casefi, 93: PAIR('i','n'),casein, 94: PAIR('l','i'),caseli, 95: PAIR('l','l'),casell, 96: PAIR('n','s'),casens, 97: PAIR('m','k'),casemk, 98: PAIR('r','t'),casert, 99: PAIR('a','m'),caseam, 100: PAIR('d','e'),casede, 101: PAIR('d','i'),casedi, 102: PAIR('d','a'),caseda, 103: PAIR('w','h'),casewh, 104: PAIR('d','t'),casedt, 105: PAIR('i','t'),caseit, 106: PAIR('r','m'),caserm, 107: PAIR('r','r'),caserr, 108: PAIR('r','n'),casern, 109: PAIR('a','d'),casead, 110: PAIR('r','s'),casers, 111: PAIR('n','a'),casena, 112: PAIR('p','l'),casepl, 113: PAIR('t','a'),caseta, 114: PAIR('t','r'),casetr, 115: PAIR('u','l'),caseul, 116: PAIR('c','u'),casecu, 117: PAIR('l','t'),caselt, 118: PAIR('n','x'),casenx, 119: PAIR('s','o'),caseso, 120: PAIR('i','g'),caseig, 121: PAIR('t','c'),casetc, 122: PAIR('f','c'),casefc, 123: PAIR('e','c'),caseec, 124: PAIR('e','o'),caseeo, 125: PAIR('l','c'),caselc, 126: PAIR('e','v'),caseev, 127: PAIR('r','d'),caserd, 128: PAIR('a','b'),caseab, 129: PAIR('f','l'),casefl, 130: PAIR('e','x'),done, 131: PAIR('s','s'),casess, 132: PAIR('f','p'),casefp, 133: PAIR('c','s'),casecs, 134: PAIR('b','d'),casebd, 135: PAIR('l','g'),caselg, 136: PAIR('h','c'),casehc, 137: PAIR('h','y'),casehy, 138: PAIR('n','h'),casenh, 139: PAIR('n','m'),casenm, 140: PAIR('n','n'),casenn, 141: PAIR('s','v'),casesv, 142: PAIR('o','s'),caseos, 143: PAIR('l','s'),casels, 144: PAIR('c','c'),casecc, 145: PAIR('c','2'),casec2, 146: PAIR('e','m'),caseem, 147: PAIR('a','f'),caseaf, 148: PAIR('h','w'),casehw, 149: PAIR('m','c'),casemc, 150: PAIR('p','m'),casepm, 151: PAIR('p','i'),casepi, 152: PAIR('u','f'),caseuf, 153: PAIR('p','c'),casepc, 154: PAIR('h','t'),caseht, 155: PAIR('c', 'f'),casecf, 156: }; 157: 158: /* 159: troff environment block 160: */ 161: 162: int block = 0; 163: int ics; /* set in ptinit */ 164: int ic = 0; 165: int icf = 0; 166: int chbits = 0; 167: int spbits = 0; 168: int nmbits = 0; 169: int font = FT; 170: int font1 = FT; 171: int sps; /* set in ptinit */ 172: int space; /* " */ 173: int Em; /* " */ 174: int spacesz; /* " */ 175: int lss = VS; 176: int lss1 = VS; 177: int ls = 1; 178: int ls1 = 1; 179: int ll = LL; 180: int ll1 = LL; 181: int lt = LL; 182: int lt1 = LL; 183: int ad = 1; 184: int nms = 1; 185: int ndf = 1; 186: int fi = 1; 187: int cc = '.'; 188: int c2 = '\''; 189: int ohc = OHC; 190: int tdelim = IMP; 191: int hyf = 1; 192: int hyoff = 0; 193: int un1 = -1; 194: int tabc = 0; 195: int dotc = '.'; 196: int adsp = 0; 197: int adrem = 0; 198: int lastl = 0; 199: int nel = 0; 200: int admod = 0; 201: int *wordp = 0; 202: int spflg = 0; 203: int *linep = 0; 204: int *wdend = 0; 205: int *wdstart = 0; 206: int wne = 0; 207: int ne = 0; 208: int nc = 0; 209: int nb = 0; 210: int lnmod = 0; 211: int nwd = 0; 212: int nn = 0; 213: int ni = 0; 214: int ul = 0; 215: int cu = 0; 216: int ce = 0; 217: int in = 0; 218: int in1 = 0; 219: int un = 0; 220: int wch = 0; 221: int pendt = 0; 222: int *pendw = 0; 223: int pendnf = 0; 224: int spread = 0; 225: int it = 0; 226: int itmac = 0; 227: int lnsize = LNSIZE; 228: int *hyptr[NHYP] = {0}; 229: int tabtab[NTAB] = {DTAB,DTAB*2,DTAB*3,DTAB*4,DTAB*5,DTAB*6,DTAB*7,DTAB*8, 230: DTAB*9,DTAB*10,DTAB*11,DTAB*12,DTAB*13,DTAB*14,DTAB*15,0}; 231: int line[LNSIZE] = {0}; 232: int word[WDSIZE] = {0}; 233: int blockxxx[EVS-66-NHYP-NTAB-WDSIZE-LNSIZE] = {0}; 234: /*spare 5 words*/ 235: int oline[LNSIZE+1];