|
|
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.