Blame


1 5cedca1b 2004-05-15 devnull #include <stdio.h>
2 5cedca1b 2004-05-15 devnull #include "tdef.h"
3 5cedca1b 2004-05-15 devnull #include "fns.h"
4 5cedca1b 2004-05-15 devnull #include "ext.h"
5 5cedca1b 2004-05-15 devnull
6 5cedca1b 2004-05-15 devnull char termtab[NS]; /* term type added in ptinit() */
7 5cedca1b 2004-05-15 devnull char fontdir[NS]; /* added in casefp; not used by nroff */
8 5cedca1b 2004-05-15 devnull char devname[20]; /* default output device */
9 5cedca1b 2004-05-15 devnull
10 5cedca1b 2004-05-15 devnull Numtab numtab[NN] = {
11 5cedca1b 2004-05-15 devnull { PAIR('%', 0) },
12 5cedca1b 2004-05-15 devnull { PAIR('n', 'l') },
13 5cedca1b 2004-05-15 devnull { PAIR('y', 'r') },
14 5cedca1b 2004-05-15 devnull { PAIR('h', 'p') },
15 5cedca1b 2004-05-15 devnull { PAIR('c', 't') },
16 5cedca1b 2004-05-15 devnull { PAIR('d', 'n') },
17 5cedca1b 2004-05-15 devnull { PAIR('m', 'o') },
18 5cedca1b 2004-05-15 devnull { PAIR('d', 'y') },
19 5cedca1b 2004-05-15 devnull { PAIR('d', 'w') },
20 5cedca1b 2004-05-15 devnull { PAIR('l', 'n') },
21 5cedca1b 2004-05-15 devnull { PAIR('d', 'l') },
22 5cedca1b 2004-05-15 devnull { PAIR('s', 't') },
23 5cedca1b 2004-05-15 devnull { PAIR('s', 'b') },
24 5cedca1b 2004-05-15 devnull { PAIR('c', '.') },
25 cbeb0b26 2006-04-01 devnull { PAIR('$', '$') }
26 5cedca1b 2004-05-15 devnull };
27 5cedca1b 2004-05-15 devnull
28 5cedca1b 2004-05-15 devnull
29 5cedca1b 2004-05-15 devnull int alphabet = 256; /* latin-1 */
30 5cedca1b 2004-05-15 devnull int pto = 10000;
31 5cedca1b 2004-05-15 devnull int pfrom = 1;
32 5cedca1b 2004-05-15 devnull int print = 1;
33 5cedca1b 2004-05-15 devnull char nextf[NS] = TMACDIR;
34 5cedca1b 2004-05-15 devnull char mfiles[NMF][NS];
35 5cedca1b 2004-05-15 devnull int nmfi = 0;
36 5cedca1b 2004-05-15 devnull int oldbits = -1;
37 5cedca1b 2004-05-15 devnull int init = 1;
38 5cedca1b 2004-05-15 devnull int fc = IMP; /* field character */
39 5cedca1b 2004-05-15 devnull int eschar = '\\';
40 5cedca1b 2004-05-15 devnull int pl;
41 5cedca1b 2004-05-15 devnull int po;
42 5cedca1b 2004-05-15 devnull FILE *ptid;
43 5cedca1b 2004-05-15 devnull
44 5cedca1b 2004-05-15 devnull int dfact = 1;
45 5cedca1b 2004-05-15 devnull int dfactd = 1;
46 5cedca1b 2004-05-15 devnull int res = 1;
47 5cedca1b 2004-05-15 devnull int smnt = 0; /* beginning of special fonts */
48 5cedca1b 2004-05-15 devnull int ascii = 0; /* ascii normally off for troff, on for nroff; -a turns on */
49 5cedca1b 2004-05-15 devnull int lg;
50 5cedca1b 2004-05-15 devnull int pnlist[NPN] = { -1 };
51 5cedca1b 2004-05-15 devnull
52 5cedca1b 2004-05-15 devnull
53 5cedca1b 2004-05-15 devnull int *pnp = pnlist;
54 5cedca1b 2004-05-15 devnull int npn = 1;
55 5cedca1b 2004-05-15 devnull int npnflg = 1;
56 5cedca1b 2004-05-15 devnull int dpn = -1;
57 5cedca1b 2004-05-15 devnull int totout = 1;
58 5cedca1b 2004-05-15 devnull int ulfont = ULFONT;
59 5cedca1b 2004-05-15 devnull int tabch = TAB;
60 5cedca1b 2004-05-15 devnull int ldrch = LEADER;
61 5cedca1b 2004-05-15 devnull
62 5cedca1b 2004-05-15 devnull
63 5cedca1b 2004-05-15 devnull Contab contab[NM] = {
64 5cedca1b 2004-05-15 devnull C(PAIR('d', 's'), caseds),
65 5cedca1b 2004-05-15 devnull C(PAIR('a', 's'), caseas),
66 5cedca1b 2004-05-15 devnull C(PAIR('s', 'p'), casesp),
67 5cedca1b 2004-05-15 devnull C(PAIR('f', 't'), caseft),
68 5cedca1b 2004-05-15 devnull C(PAIR('p', 's'), caseps),
69 5cedca1b 2004-05-15 devnull C(PAIR('v', 's'), casevs),
70 5cedca1b 2004-05-15 devnull C(PAIR('n', 'r'), casenr),
71 5cedca1b 2004-05-15 devnull C(PAIR('i', 'f'), caseif),
72 5cedca1b 2004-05-15 devnull C(PAIR('i', 'e'), caseie),
73 5cedca1b 2004-05-15 devnull C(PAIR('e', 'l'), caseel),
74 5cedca1b 2004-05-15 devnull C(PAIR('p', 'o'), casepo),
75 5cedca1b 2004-05-15 devnull C(PAIR('t', 'l'), casetl),
76 5cedca1b 2004-05-15 devnull C(PAIR('t', 'm'), casetm),
77 5cedca1b 2004-05-15 devnull C(PAIR('f', 'm'), casefm),
78 5cedca1b 2004-05-15 devnull C(PAIR('b', 'p'), casebp),
79 5cedca1b 2004-05-15 devnull C(PAIR('c', 'h'), casech),
80 5cedca1b 2004-05-15 devnull C(PAIR('p', 'n'), casepn),
81 5cedca1b 2004-05-15 devnull C(PAIR('b', 'r'), tbreak),
82 5cedca1b 2004-05-15 devnull C(PAIR('t', 'i'), caseti),
83 5cedca1b 2004-05-15 devnull C(PAIR('n', 'e'), casene),
84 5cedca1b 2004-05-15 devnull C(PAIR('n', 'f'), casenf),
85 5cedca1b 2004-05-15 devnull C(PAIR('c', 'e'), casece),
86 5cedca1b 2004-05-15 devnull C(PAIR('f', 'i'), casefi),
87 5cedca1b 2004-05-15 devnull C(PAIR('i', 'n'), casein),
88 5cedca1b 2004-05-15 devnull C(PAIR('l', 'l'), casell),
89 5cedca1b 2004-05-15 devnull C(PAIR('n', 's'), casens),
90 5cedca1b 2004-05-15 devnull C(PAIR('m', 'k'), casemk),
91 5cedca1b 2004-05-15 devnull C(PAIR('r', 't'), casert),
92 5cedca1b 2004-05-15 devnull C(PAIR('a', 'm'), caseam),
93 5cedca1b 2004-05-15 devnull C(PAIR('d', 'e'), casede),
94 5cedca1b 2004-05-15 devnull C(PAIR('d', 'i'), casedi),
95 5cedca1b 2004-05-15 devnull C(PAIR('d', 'a'), caseda),
96 5cedca1b 2004-05-15 devnull C(PAIR('w', 'h'), casewh),
97 5cedca1b 2004-05-15 devnull C(PAIR('d', 't'), casedt),
98 5cedca1b 2004-05-15 devnull C(PAIR('i', 't'), caseit),
99 5cedca1b 2004-05-15 devnull C(PAIR('r', 'm'), caserm),
100 5cedca1b 2004-05-15 devnull C(PAIR('r', 'r'), caserr),
101 5cedca1b 2004-05-15 devnull C(PAIR('r', 'n'), casern),
102 5cedca1b 2004-05-15 devnull C(PAIR('a', 'd'), casead),
103 5cedca1b 2004-05-15 devnull C(PAIR('r', 's'), casers),
104 5cedca1b 2004-05-15 devnull C(PAIR('n', 'a'), casena),
105 5cedca1b 2004-05-15 devnull C(PAIR('p', 'l'), casepl),
106 5cedca1b 2004-05-15 devnull C(PAIR('t', 'a'), caseta),
107 5cedca1b 2004-05-15 devnull C(PAIR('t', 'r'), casetr),
108 5cedca1b 2004-05-15 devnull C(PAIR('u', 'l'), caseul),
109 5cedca1b 2004-05-15 devnull C(PAIR('c', 'u'), casecu),
110 5cedca1b 2004-05-15 devnull C(PAIR('l', 't'), caselt),
111 5cedca1b 2004-05-15 devnull C(PAIR('n', 'x'), casenx),
112 5cedca1b 2004-05-15 devnull C(PAIR('s', 'o'), caseso),
113 5cedca1b 2004-05-15 devnull C(PAIR('i', 'g'), caseig),
114 5cedca1b 2004-05-15 devnull C(PAIR('t', 'c'), casetc),
115 5cedca1b 2004-05-15 devnull C(PAIR('f', 'c'), casefc),
116 5cedca1b 2004-05-15 devnull C(PAIR('e', 'c'), caseec),
117 5cedca1b 2004-05-15 devnull C(PAIR('e', 'o'), caseeo),
118 5cedca1b 2004-05-15 devnull C(PAIR('l', 'c'), caselc),
119 5cedca1b 2004-05-15 devnull C(PAIR('e', 'v'), caseev),
120 5cedca1b 2004-05-15 devnull C(PAIR('r', 'd'), caserd),
121 5cedca1b 2004-05-15 devnull C(PAIR('a', 'b'), caseab),
122 5cedca1b 2004-05-15 devnull C(PAIR('f', 'l'), casefl),
123 5cedca1b 2004-05-15 devnull C(PAIR('e', 'x'), caseex),
124 5cedca1b 2004-05-15 devnull C(PAIR('s', 's'), casess),
125 5cedca1b 2004-05-15 devnull C(PAIR('f', 'p'), casefp),
126 5cedca1b 2004-05-15 devnull C(PAIR('c', 's'), casecs),
127 5cedca1b 2004-05-15 devnull C(PAIR('b', 'd'), casebd),
128 5cedca1b 2004-05-15 devnull C(PAIR('l', 'g'), caselg),
129 5cedca1b 2004-05-15 devnull C(PAIR('h', 'c'), casehc),
130 5cedca1b 2004-05-15 devnull C(PAIR('h', 'y'), casehy),
131 5cedca1b 2004-05-15 devnull C(PAIR('n', 'h'), casenh),
132 5cedca1b 2004-05-15 devnull C(PAIR('n', 'm'), casenm),
133 5cedca1b 2004-05-15 devnull C(PAIR('n', 'n'), casenn),
134 5cedca1b 2004-05-15 devnull C(PAIR('s', 'v'), casesv),
135 5cedca1b 2004-05-15 devnull C(PAIR('o', 's'), caseos),
136 5cedca1b 2004-05-15 devnull C(PAIR('l', 's'), casels),
137 5cedca1b 2004-05-15 devnull C(PAIR('c', 'c'), casecc),
138 5cedca1b 2004-05-15 devnull C(PAIR('c', '2'), casec2),
139 5cedca1b 2004-05-15 devnull C(PAIR('e', 'm'), caseem),
140 5cedca1b 2004-05-15 devnull C(PAIR('a', 'f'), caseaf),
141 5cedca1b 2004-05-15 devnull C(PAIR('h', 'a'), caseha),
142 5cedca1b 2004-05-15 devnull C(PAIR('h', 'w'), casehw),
143 5cedca1b 2004-05-15 devnull C(PAIR('m', 'c'), casemc),
144 5cedca1b 2004-05-15 devnull C(PAIR('p', 'm'), casepm),
145 5cedca1b 2004-05-15 devnull C(PAIR('p', 'i'), casepi),
146 5cedca1b 2004-05-15 devnull C(PAIR('u', 'f'), caseuf),
147 5cedca1b 2004-05-15 devnull C(PAIR('p', 'c'), casepc),
148 5cedca1b 2004-05-15 devnull C(PAIR('h', 't'), caseht),
149 5cedca1b 2004-05-15 devnull C(PAIR('c', 'f'), casecf),
150 5cedca1b 2004-05-15 devnull C(PAIR('s', 'y'), casesy),
151 5cedca1b 2004-05-15 devnull C(PAIR('l', 'f'), caself),
152 5cedca1b 2004-05-15 devnull C(PAIR('p', 't'), casept),
153 cbeb0b26 2006-04-01 devnull C(PAIR('g', 'd'), casegd)
154 5cedca1b 2004-05-15 devnull };
155 5cedca1b 2004-05-15 devnull
156 5cedca1b 2004-05-15 devnull
157 5cedca1b 2004-05-15 devnull Tbuf _oline;
158 5cedca1b 2004-05-15 devnull
159 5cedca1b 2004-05-15 devnull /*
160 5cedca1b 2004-05-15 devnull * troff environment block
161 5cedca1b 2004-05-15 devnull */
162 5cedca1b 2004-05-15 devnull
163 5cedca1b 2004-05-15 devnull Env env[NEV] = { { /* this sets up env[0] */
164 5cedca1b 2004-05-15 devnull /* int ics */ 0, /* insertion character space, set by .mc */
165 5cedca1b 2004-05-15 devnull /* int sps */ 0,
166 5cedca1b 2004-05-15 devnull /* int spacesz */ 0,
167 5cedca1b 2004-05-15 devnull /* int lss */ 0,
168 5cedca1b 2004-05-15 devnull /* int lss1 */ 0,
169 5cedca1b 2004-05-15 devnull /* int ll */ 0,
170 5cedca1b 2004-05-15 devnull /* int ll1 */ 0,
171 5cedca1b 2004-05-15 devnull /* int lt */ 0,
172 5cedca1b 2004-05-15 devnull /* int lt1 */ 0,
173 5cedca1b 2004-05-15 devnull /* Tchar ic */ 0, /* insertion character (= margin character) */
174 5cedca1b 2004-05-15 devnull /* int icf */ 0, /* insertion character flag */
175 5cedca1b 2004-05-15 devnull /* Tchar chbits */ 0, /* size+font bits for current character */
176 5cedca1b 2004-05-15 devnull /* Tchar spbits */ 0,
177 5cedca1b 2004-05-15 devnull /* Tchar nmbits */ 0, /* size+font bits for number from .nm */
178 5cedca1b 2004-05-15 devnull /* int apts */ PS, /* actual point size -- as requested by user */
179 5cedca1b 2004-05-15 devnull /* int apts1 */ PS, /* need not match an existent size */
180 5cedca1b 2004-05-15 devnull /* int pts */ PS, /* hence, this is the size that really exists */
181 5cedca1b 2004-05-15 devnull /* int pts1 */ PS,
182 5cedca1b 2004-05-15 devnull /* int font */ FT,
183 5cedca1b 2004-05-15 devnull /* int font1 */ FT,
184 5cedca1b 2004-05-15 devnull /* int ls */ 1,
185 5cedca1b 2004-05-15 devnull /* int ls1 */ 1,
186 5cedca1b 2004-05-15 devnull /* int ad */ 1,
187 5cedca1b 2004-05-15 devnull /* int nms */ 1, /* .nm multiplier */
188 5cedca1b 2004-05-15 devnull /* int ndf */ 1, /* .nm separator */
189 5cedca1b 2004-05-15 devnull /* int nmwid */ 3, /* max width of .nm numbers */
190 5cedca1b 2004-05-15 devnull /* int fi */ 1,
191 5cedca1b 2004-05-15 devnull /* int cc */ '.',
192 5cedca1b 2004-05-15 devnull /* int c2 */ '\'',
193 5cedca1b 2004-05-15 devnull /* int ohc */ OHC,
194 5cedca1b 2004-05-15 devnull /* int tdelim */ IMP,
195 5cedca1b 2004-05-15 devnull /* int hyf */ 1,
196 5cedca1b 2004-05-15 devnull /* int hyoff */ 0,
197 5cedca1b 2004-05-15 devnull /* int hyphalg */ HYPHALG,
198 5cedca1b 2004-05-15 devnull /* int un1 */ -1,
199 5cedca1b 2004-05-15 devnull /* int tabc */ 0,
200 5cedca1b 2004-05-15 devnull /* int dotc */ '.',
201 5cedca1b 2004-05-15 devnull /* int adsp */ 0, /* add this much space to each padding point */
202 5cedca1b 2004-05-15 devnull /* int adrem */ 0, /* excess space to add until it runs out */
203 5cedca1b 2004-05-15 devnull /* int lastl */ 0, /* last text on current output line */
204 5cedca1b 2004-05-15 devnull /* int nel */ 0, /* how much space left on current output line */
205 5cedca1b 2004-05-15 devnull /* int admod */ 0, /* adjust mode */
206 5cedca1b 2004-05-15 devnull /* Tchar *wordp */ 0,
207 5cedca1b 2004-05-15 devnull /* int spflg */ 0, /* probably to indicate space after punctuation needed */
208 5cedca1b 2004-05-15 devnull /* Tchar *linep */ 0,
209 5cedca1b 2004-05-15 devnull /* Tchar *wdend */ 0,
210 5cedca1b 2004-05-15 devnull /* Tchar *wdstart */ 0,
211 5cedca1b 2004-05-15 devnull /* int wne */ 0,
212 5cedca1b 2004-05-15 devnull /* int ne */ 0, /* how much space taken on current output line */
213 5cedca1b 2004-05-15 devnull /* int nc */ 0, /* #characters (incl blank) on output line */
214 5cedca1b 2004-05-15 devnull /* int nb */ 0,
215 5cedca1b 2004-05-15 devnull /* int lnmod */ 0, /* line number mode, set by .nm */
216 5cedca1b 2004-05-15 devnull /* int nwd */ 0, /* number of words on current output line */
217 5cedca1b 2004-05-15 devnull /* int nn */ 0, /* from .nn command */
218 5cedca1b 2004-05-15 devnull /* int ni */ 0, /* indent of .nm numbers, probably */
219 5cedca1b 2004-05-15 devnull /* int ul */ 0,
220 5cedca1b 2004-05-15 devnull /* int cu */ 0,
221 5cedca1b 2004-05-15 devnull /* int ce */ 0,
222 5cedca1b 2004-05-15 devnull /* int in */ 0, /* indent and previous value */
223 5cedca1b 2004-05-15 devnull /* int in1 */ 0,
224 5cedca1b 2004-05-15 devnull /* int un */ 0, /* unindent of left margin in some way */
225 5cedca1b 2004-05-15 devnull /* int wch */ 0,
226 5cedca1b 2004-05-15 devnull /* int pendt */ 0,
227 5cedca1b 2004-05-15 devnull /* Tchar *pendw */ (Tchar *)0,
228 5cedca1b 2004-05-15 devnull /* int pendnf */ 0,
229 5cedca1b 2004-05-15 devnull /* int spread */ 0,
230 5cedca1b 2004-05-15 devnull /* int it */ 0, /* input trap count */
231 cbeb0b26 2006-04-01 devnull /* int itmac */ 0
232 5cedca1b 2004-05-15 devnull } };
233 5cedca1b 2004-05-15 devnull
234 5cedca1b 2004-05-15 devnull Env *envp = env; /* start off in env 0 */
235 5cedca1b 2004-05-15 devnull
236 5cedca1b 2004-05-15 devnull Numerr numerr;
237 5cedca1b 2004-05-15 devnull
238 5cedca1b 2004-05-15 devnull Stack *frame, *stk, *ejl;
239 5cedca1b 2004-05-15 devnull Stack *nxf;
240 5cedca1b 2004-05-15 devnull
241 5cedca1b 2004-05-15 devnull int pipeflg;
242 5cedca1b 2004-05-15 devnull int hflg; /* used in nroff only */
243 5cedca1b 2004-05-15 devnull int eqflg; /* used in nroff only */
244 5cedca1b 2004-05-15 devnull
245 5cedca1b 2004-05-15 devnull int xpts;
246 5cedca1b 2004-05-15 devnull int ppts;
247 5cedca1b 2004-05-15 devnull int pfont;
248 5cedca1b 2004-05-15 devnull int mpts;
249 5cedca1b 2004-05-15 devnull int mfont;
250 5cedca1b 2004-05-15 devnull int cs;
251 5cedca1b 2004-05-15 devnull int ccs;
252 5cedca1b 2004-05-15 devnull int bd;
253 5cedca1b 2004-05-15 devnull
254 5cedca1b 2004-05-15 devnull int stdi;
255 5cedca1b 2004-05-15 devnull int quiet;
256 5cedca1b 2004-05-15 devnull int stop;
257 5cedca1b 2004-05-15 devnull char ibuf[IBUFSZ];
258 5cedca1b 2004-05-15 devnull char xbuf[IBUFSZ];
259 5cedca1b 2004-05-15 devnull char *ibufp;
260 5cedca1b 2004-05-15 devnull char *xbufp;
261 5cedca1b 2004-05-15 devnull char *eibuf;
262 5cedca1b 2004-05-15 devnull char *xeibuf;
263 5cedca1b 2004-05-15 devnull Tchar pbbuf[NC]; /* pushback buffer for arguments, \n, etc. */
264 5cedca1b 2004-05-15 devnull Tchar *pbp = pbbuf; /* next free slot in pbbuf */
265 5cedca1b 2004-05-15 devnull Tchar *lastpbp = pbbuf; /* pbp in previous stack frame */
266 5cedca1b 2004-05-15 devnull int nx;
267 5cedca1b 2004-05-15 devnull int mflg;
268 5cedca1b 2004-05-15 devnull Tchar ch = 0;
269 5cedca1b 2004-05-15 devnull int ibf;
270 5cedca1b 2004-05-15 devnull int ifi;
271 5cedca1b 2004-05-15 devnull int iflg;
272 5cedca1b 2004-05-15 devnull int rargc;
273 5cedca1b 2004-05-15 devnull char **argp;
274 5cedca1b 2004-05-15 devnull Ushort trtab[NTRTAB];
275 5cedca1b 2004-05-15 devnull int lgf;
276 5cedca1b 2004-05-15 devnull int copyf;
277 5cedca1b 2004-05-15 devnull Offset ip;
278 5cedca1b 2004-05-15 devnull int nlflg;
279 5cedca1b 2004-05-15 devnull int donef;
280 5cedca1b 2004-05-15 devnull int nflush;
281 5cedca1b 2004-05-15 devnull int nfo;
282 5cedca1b 2004-05-15 devnull int padc;
283 5cedca1b 2004-05-15 devnull int raw;
284 5cedca1b 2004-05-15 devnull int flss;
285 5cedca1b 2004-05-15 devnull int nonumb;
286 5cedca1b 2004-05-15 devnull int trap;
287 5cedca1b 2004-05-15 devnull int tflg;
288 5cedca1b 2004-05-15 devnull int ejf;
289 5cedca1b 2004-05-15 devnull int dilev;
290 5cedca1b 2004-05-15 devnull Offset offset;
291 5cedca1b 2004-05-15 devnull int em;
292 5cedca1b 2004-05-15 devnull int ds;
293 5cedca1b 2004-05-15 devnull Offset woff;
294 5cedca1b 2004-05-15 devnull int app;
295 5cedca1b 2004-05-15 devnull int ndone;
296 5cedca1b 2004-05-15 devnull int lead;
297 5cedca1b 2004-05-15 devnull int ralss;
298 5cedca1b 2004-05-15 devnull Offset nextb;
299 5cedca1b 2004-05-15 devnull Tchar nrbits;
300 5cedca1b 2004-05-15 devnull int nform;
301 5cedca1b 2004-05-15 devnull int oldmn;
302 5cedca1b 2004-05-15 devnull int newmn;
303 5cedca1b 2004-05-15 devnull int macerr;
304 5cedca1b 2004-05-15 devnull Offset apptr;
305 5cedca1b 2004-05-15 devnull int diflg;
306 5cedca1b 2004-05-15 devnull int evi;
307 5cedca1b 2004-05-15 devnull int vflag;
308 5cedca1b 2004-05-15 devnull int noscale;
309 5cedca1b 2004-05-15 devnull int po1;
310 5cedca1b 2004-05-15 devnull int nlist[NTRAP];
311 5cedca1b 2004-05-15 devnull int mlist[NTRAP];
312 5cedca1b 2004-05-15 devnull int evlist[EVLSZ];
313 5cedca1b 2004-05-15 devnull int ev;
314 5cedca1b 2004-05-15 devnull int tty;
315 5cedca1b 2004-05-15 devnull int sfont = FT; /* appears to be "standard" font; used by .ul */
316 5cedca1b 2004-05-15 devnull int sv;
317 5cedca1b 2004-05-15 devnull int esc;
318 5cedca1b 2004-05-15 devnull int widthp;
319 5cedca1b 2004-05-15 devnull int xfont;
320 5cedca1b 2004-05-15 devnull int setwdf;
321 5cedca1b 2004-05-15 devnull int over;
322 5cedca1b 2004-05-15 devnull int nhyp;
323 5cedca1b 2004-05-15 devnull Tchar **hyp;
324 5cedca1b 2004-05-15 devnull Tchar *olinep;
325 5cedca1b 2004-05-15 devnull int dotT;
326 5cedca1b 2004-05-15 devnull char *unlkp;
327 5cedca1b 2004-05-15 devnull Wcache widcache[NWIDCACHE];
328 5cedca1b 2004-05-15 devnull Diver d[NDI];
329 5cedca1b 2004-05-15 devnull Diver *dip;
330 5cedca1b 2004-05-15 devnull
331 5cedca1b 2004-05-15 devnull int c_hyphen;
332 5cedca1b 2004-05-15 devnull int c_emdash;
333 5cedca1b 2004-05-15 devnull int c_rule;
334 5cedca1b 2004-05-15 devnull int c_minus;
335 5cedca1b 2004-05-15 devnull int c_fi;
336 5cedca1b 2004-05-15 devnull int c_fl;
337 5cedca1b 2004-05-15 devnull int c_ff;
338 5cedca1b 2004-05-15 devnull int c_ffi;
339 5cedca1b 2004-05-15 devnull int c_ffl;
340 5cedca1b 2004-05-15 devnull int c_acute;
341 5cedca1b 2004-05-15 devnull int c_grave;
342 5cedca1b 2004-05-15 devnull int c_under;
343 5cedca1b 2004-05-15 devnull int c_rooten;
344 5cedca1b 2004-05-15 devnull int c_boxrule;
345 5cedca1b 2004-05-15 devnull int c_lefthand;
346 5cedca1b 2004-05-15 devnull int c_dagger;
347 5cedca1b 2004-05-15 devnull int c_isalnum;
348 5cedca1b 2004-05-15 devnull
349 5cedca1b 2004-05-15 devnull Spnames spnames[] =
350 5cedca1b 2004-05-15 devnull {
351 5cedca1b 2004-05-15 devnull &c_hyphen, "hy",
352 5cedca1b 2004-05-15 devnull &c_emdash, "em",
353 5cedca1b 2004-05-15 devnull &c_rule, "ru",
354 5cedca1b 2004-05-15 devnull &c_minus, "\\-",
355 5cedca1b 2004-05-15 devnull &c_fi, "fi",
356 5cedca1b 2004-05-15 devnull &c_fl, "fl",
357 5cedca1b 2004-05-15 devnull &c_ff, "ff",
358 5cedca1b 2004-05-15 devnull &c_ffi, "Fi",
359 5cedca1b 2004-05-15 devnull &c_ffl, "Fl",
360 5cedca1b 2004-05-15 devnull &c_acute, "aa",
361 5cedca1b 2004-05-15 devnull &c_grave, "ga",
362 5cedca1b 2004-05-15 devnull &c_under, "ul",
363 5cedca1b 2004-05-15 devnull &c_rooten, "rn",
364 5cedca1b 2004-05-15 devnull &c_boxrule, "br",
365 5cedca1b 2004-05-15 devnull &c_lefthand, "lh",
366 5cedca1b 2004-05-15 devnull &c_dagger, "dg", /* not in nroff?? */
367 5cedca1b 2004-05-15 devnull &c_isalnum, "__",
368 5cedca1b 2004-05-15 devnull 0, 0
369 5cedca1b 2004-05-15 devnull };
370 5cedca1b 2004-05-15 devnull
371 5cedca1b 2004-05-15 devnull
372 5cedca1b 2004-05-15 devnull Tchar (*hmot)(void);
373 5cedca1b 2004-05-15 devnull Tchar (*makem)(int i);
374 5cedca1b 2004-05-15 devnull Tchar (*setabs)(void);
375 5cedca1b 2004-05-15 devnull Tchar (*setch)(int c);
376 5cedca1b 2004-05-15 devnull Tchar (*sethl)(int k);
377 5cedca1b 2004-05-15 devnull Tchar (*setht)(void);
378 5cedca1b 2004-05-15 devnull Tchar (*setslant)(void);
379 5cedca1b 2004-05-15 devnull Tchar (*vmot)(void);
380 5cedca1b 2004-05-15 devnull Tchar (*xlss)(void);
381 5cedca1b 2004-05-15 devnull int (*findft)(int i);
382 5cedca1b 2004-05-15 devnull int (*width)(Tchar j);
383 5cedca1b 2004-05-15 devnull void (*mchbits)(void);
384 5cedca1b 2004-05-15 devnull void (*ptlead)(void);
385 5cedca1b 2004-05-15 devnull void (*ptout)(Tchar i);
386 5cedca1b 2004-05-15 devnull void (*ptpause)(void);
387 5cedca1b 2004-05-15 devnull void (*setfont)(int a);
388 5cedca1b 2004-05-15 devnull void (*setps)(void);
389 5cedca1b 2004-05-15 devnull void (*setwd)(void);