|
|
1.1 ! root 1: #include "tdef.h" ! 2: ! 3: /* You may want to change these names */ ! 4: ! 5: #ifdef NROFF ! 6: ! 7: char termtab[NS] = "/usr/lib/term/tab."; /* term type added in ptinit() */ ! 8: char fontdir[NS] = ""; /* not used */ ! 9: char devname[20] = "37"; ! 10: ! 11: #else ! 12: ! 13: char termtab[NS] = "/usr/lib/font"; /* rest added in ptinit() */ ! 14: char fontdir[NS] = "/usr/lib/font"; /* rest added in casefp() */ ! 15: char devname[20] = "202"; /* default typesetter */ ! 16: ! 17: #endif ! 18: ! 19: char obuf[OBUFSZ]; /* characters collected here for typesetter output */ ! 20: char *obufp = obuf; ! 21: struct numtab numtab[NN] = { ! 22: { PAIR('%', 0) }, ! 23: { PAIR('n', 'l') }, ! 24: { PAIR('y', 'r') }, ! 25: { PAIR('h', 'p') }, ! 26: { PAIR('c', 't') }, ! 27: { PAIR('d', 'n') }, ! 28: { PAIR('m', 'o') }, ! 29: { PAIR('d', 'y') }, ! 30: { PAIR('d', 'w') }, ! 31: { PAIR('l', 'n') }, ! 32: { PAIR('d', 'l') }, ! 33: { PAIR('s', 't') }, ! 34: { PAIR('s', 'b') }, ! 35: { PAIR('c', '.') }, ! 36: { PAIR('$', '$') }, ! 37: }; ! 38: ! 39: ! 40: int pto = 10000; ! 41: int pfrom = 1; ! 42: int print = 1; ! 43: char nextf[NS] = "/usr/lib/tmac/tmac."; ! 44: char mfiles[NMF][NS]; ! 45: int nmfi = 0; ! 46: #ifndef NROFF ! 47: int oldbits = -1; ! 48: #endif ! 49: int init = 1; ! 50: int fc = IMP; /* field character */ ! 51: int eschar = '\\'; ! 52: #ifdef NROFF ! 53: int pl = 11*INCH; ! 54: int po = PO; ! 55: #else ! 56: int pl; ! 57: int po; ! 58: #endif ! 59: int dfact = 1; ! 60: int dfactd = 1; ! 61: int res = 1; ! 62: int smnt = 0; /* beginning of special fonts */ ! 63: int ascii = ASCII; ! 64: int ptid = PTID; ! 65: int lg = LG; ! 66: int pnlist[NPN] = { -1 }; ! 67: ! 68: ! 69: int *pnp = pnlist; ! 70: int npn = 1; ! 71: int npnflg = 1; ! 72: int dpn = -1; ! 73: int totout = 1; ! 74: int ulfont = ULFONT; ! 75: int tabch = TAB; ! 76: int ldrch = LEADER; ! 77: ! 78: extern caseds(), caseas(), casesp(), caseft(), caseps(), casevs(), ! 79: casenr(), caseif(), casepo(), casetl(), casetm(), casebp(), casech(), ! 80: casepn(), tbreak(), caseti(), casene(), casenf(), casece(), casefi(), ! 81: casein(), casell(), casens(), casemk(), casert(), caseam(), ! 82: casede(), casedi(), caseda(), casewh(), casedt(), caseit(), caserm(), ! 83: casern(), casead(), casers(), casena(), casepl(), caseta(), casetr(), ! 84: caseul(), caselt(), casenx(), caseso(), caseig(), casetc(), casefc(), ! 85: caseec(), caseeo(), caselc(), caseev(), caserd(), caseab(), casefl(), ! 86: done(), casess(), casefp(), casecs(), casebd(), caselg(), casehc(), ! 87: casehy(), casenh(), casenm(), casenn(), casesv(), caseos(), casels(), ! 88: casecc(), casec2(), caseem(), caseaf(), casehw(), casemc(), casepm(), ! 89: casecu(), casepi(), caserr(), caseuf(), caseie(), caseel(), casepc(), ! 90: caseht(), casecf(), casesy(), caself(); ! 91: ! 92: #define C(a,b) {a, 0, b, 0} ! 93: struct contab contab[NM] = { ! 94: C(PAIR('d', 's'), caseds), ! 95: C(PAIR('a', 's'), caseas), ! 96: C(PAIR('s', 'p'), casesp), ! 97: C(PAIR('f', 't'), caseft), ! 98: C(PAIR('p', 's'), caseps), ! 99: C(PAIR('v', 's'), casevs), ! 100: C(PAIR('n', 'r'), casenr), ! 101: C(PAIR('i', 'f'), caseif), ! 102: C(PAIR('i', 'e'), caseie), ! 103: C(PAIR('e', 'l'), caseel), ! 104: C(PAIR('p', 'o'), casepo), ! 105: C(PAIR('t', 'l'), casetl), ! 106: C(PAIR('t', 'm'), casetm), ! 107: C(PAIR('b', 'p'), casebp), ! 108: C(PAIR('c', 'h'), casech), ! 109: C(PAIR('p', 'n'), casepn), ! 110: C(PAIR('b', 'r'), tbreak), ! 111: C(PAIR('t', 'i'), caseti), ! 112: C(PAIR('n', 'e'), casene), ! 113: C(PAIR('n', 'f'), casenf), ! 114: C(PAIR('c', 'e'), casece), ! 115: C(PAIR('f', 'i'), casefi), ! 116: C(PAIR('i', 'n'), casein), ! 117: C(PAIR('l', 'l'), casell), ! 118: C(PAIR('n', 's'), casens), ! 119: C(PAIR('m', 'k'), casemk), ! 120: C(PAIR('r', 't'), casert), ! 121: C(PAIR('a', 'm'), caseam), ! 122: C(PAIR('d', 'e'), casede), ! 123: C(PAIR('d', 'i'), casedi), ! 124: C(PAIR('d', 'a'), caseda), ! 125: C(PAIR('w', 'h'), casewh), ! 126: C(PAIR('d', 't'), casedt), ! 127: C(PAIR('i', 't'), caseit), ! 128: C(PAIR('r', 'm'), caserm), ! 129: C(PAIR('r', 'r'), caserr), ! 130: C(PAIR('r', 'n'), casern), ! 131: C(PAIR('a', 'd'), casead), ! 132: C(PAIR('r', 's'), casers), ! 133: C(PAIR('n', 'a'), casena), ! 134: C(PAIR('p', 'l'), casepl), ! 135: C(PAIR('t', 'a'), caseta), ! 136: C(PAIR('t', 'r'), casetr), ! 137: C(PAIR('u', 'l'), caseul), ! 138: C(PAIR('c', 'u'), casecu), ! 139: C(PAIR('l', 't'), caselt), ! 140: C(PAIR('n', 'x'), casenx), ! 141: C(PAIR('s', 'o'), caseso), ! 142: C(PAIR('i', 'g'), caseig), ! 143: C(PAIR('t', 'c'), casetc), ! 144: C(PAIR('f', 'c'), casefc), ! 145: C(PAIR('e', 'c'), caseec), ! 146: C(PAIR('e', 'o'), caseeo), ! 147: C(PAIR('l', 'c'), caselc), ! 148: C(PAIR('e', 'v'), caseev), ! 149: C(PAIR('r', 'd'), caserd), ! 150: C(PAIR('a', 'b'), caseab), ! 151: C(PAIR('f', 'l'), casefl), ! 152: C(PAIR('e', 'x'), done), ! 153: C(PAIR('s', 's'), casess), ! 154: C(PAIR('f', 'p'), casefp), ! 155: C(PAIR('c', 's'), casecs), ! 156: C(PAIR('b', 'd'), casebd), ! 157: C(PAIR('l', 'g'), caselg), ! 158: C(PAIR('h', 'c'), casehc), ! 159: C(PAIR('h', 'y'), casehy), ! 160: C(PAIR('n', 'h'), casenh), ! 161: C(PAIR('n', 'm'), casenm), ! 162: C(PAIR('n', 'n'), casenn), ! 163: C(PAIR('s', 'v'), casesv), ! 164: C(PAIR('o', 's'), caseos), ! 165: C(PAIR('l', 's'), casels), ! 166: C(PAIR('c', 'c'), casecc), ! 167: C(PAIR('c', '2'), casec2), ! 168: C(PAIR('e', 'm'), caseem), ! 169: C(PAIR('a', 'f'), caseaf), ! 170: C(PAIR('h', 'w'), casehw), ! 171: C(PAIR('m', 'c'), casemc), ! 172: C(PAIR('p', 'm'), casepm), ! 173: C(PAIR('p', 'i'), casepi), ! 174: C(PAIR('u', 'f'), caseuf), ! 175: C(PAIR('p', 'c'), casepc), ! 176: C(PAIR('h', 't'), caseht), ! 177: C(PAIR('c', 'f'), casecf), ! 178: C(PAIR('s', 'y'), casesy), ! 179: C(PAIR('l', 'f'), caself), ! 180: C(PAIR('!', 0), casesy), /* synonym for .sy */ ! 181: }; ! 182: ! 183: ! 184: tchar oline[OLNSIZE]; ! 185: ! 186: /* ! 187: * troff environment block ! 188: */ ! 189: ! 190: struct env env = { ! 191: /* int ics */ 0, /* insertion character space, set by .mc */ ! 192: /* int sps */ 0, ! 193: /* int spacesz */ 0, ! 194: /* int lss */ 0, ! 195: /* int lss1 */ 0, ! 196: /* int ll */ 0, ! 197: /* int ll1 */ 0, ! 198: /* int lt */ 0, ! 199: /* int lt1 */ 0, ! 200: /* tchar ic */ 0, /* insertion character (= margin character) */ ! 201: /* int icf */ 0, /* insertion character flag */ ! 202: /* tchar chbits */ 0, /* size+font bits for current character */ ! 203: /* tchar spbits */ 0, ! 204: /* tchar nmbits */ 0, /* size+font bits for number from .nm */ ! 205: /* int apts */ PS, /* actual point size -- as requested by user */ ! 206: /* int apts1 */ PS, /* need not match an existent size */ ! 207: /* int pts */ PS, /* hence, this is the size that really exists */ ! 208: /* int pts1 */ PS, ! 209: /* int font */ FT, ! 210: /* int font1 */ FT, ! 211: /* int ls */ 1, ! 212: /* int ls1 */ 1, ! 213: /* int ad */ 1, ! 214: /* int nms */ 1, /* .nm multiplier */ ! 215: /* int ndf */ 1, /* .nm separator */ ! 216: /* int fi */ 1, ! 217: /* int cc */ '.', ! 218: /* int c2 */ '\'', ! 219: /* int ohc */ OHC, ! 220: /* int tdelim */ IMP, ! 221: #ifdef NROFF ! 222: /* int hyf */ 0, ! 223: #else ! 224: /* int hyf */ 1, ! 225: #endif ! 226: /* int hyoff */ 0, ! 227: /* int un1 */ -1, ! 228: /* int tabc */ 0, ! 229: /* int dotc */ '.', ! 230: /* int adsp */ 0, /* add this much space to each padding point */ ! 231: /* int adrem */ 0, /* excess space to add until it runs out */ ! 232: /* int lastl */ 0, /* last text on current output line */ ! 233: /* int nel */ 0, /* how much space left on current output line */ ! 234: /* int admod */ 0, /* adjust mode */ ! 235: /* tchar *wordp */ 0, ! 236: /* int spflg */ 0, /* probably to indicate space after punctuation needed */ ! 237: /* tchar *linep */ 0, ! 238: /* tchar *wdend */ 0, ! 239: /* tchar *wdstart */ 0, ! 240: /* int wne */ 0, ! 241: /* int ne */ 0, /* how much space taken on current output line */ ! 242: /* int nc */ 0, /* #characters (incl blank) on output line */ ! 243: /* int nb */ 0, ! 244: /* int lnmod */ 0, /* line number mode, set by .nm */ ! 245: /* int nwd */ 0, /* number of words on current output line */ ! 246: /* int nn */ 0, /* from .nn command */ ! 247: /* int ni */ 0, /* indent of .nm numbers, probably */ ! 248: /* int ul */ 0, ! 249: /* int cu */ 0, ! 250: /* int ce */ 0, ! 251: /* int in */ 0, /* indent and previous value */ ! 252: /* int in1 */ 0, ! 253: /* int un */ 0, /* unindent of left margin in some way */ ! 254: /* int wch */ 0, ! 255: /* int pendt */ 0, ! 256: /* tchar *pendw */ (tchar *)0, ! 257: /* int pendnf */ 0, ! 258: /* int spread */ 0, ! 259: /* int it */ 0, /* input trap count */ ! 260: /* int itmac */ 0, ! 261: /* int lnsize */ LNSIZE, ! 262: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.