xref: /illumos-gate/usr/src/cmd/troff/suftab.c (revision 8b80e8cb6855118d46f605e91b5ed4ce83417395)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License, Version 1.0 only
6  * (the "License").  You may not use this file except in compliance
7  * with the License.
8  *
9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10  * or http://www.opensolaris.org/os/licensing.
11  * See the License for the specific language governing permissions
12  * and limitations under the License.
13  *
14  * When distributing Covered Code, include this CDDL HEADER in each
15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16  * If applicable, add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your own identifying
18  * information: Portions Copyright [yyyy] [name of copyright owner]
19  *
20  * CDDL HEADER END
21  */
22 /*
23  * Copyright 1989 Sun Microsystems, Inc.  All rights reserved.
24  * Use is subject to license terms.
25  */
26 
27 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
28 /*	  All Rights Reserved  	*/
29 
30 
31 #pragma ident	"%Z%%M%	%I%	%E% SMI"
32 
33 /*
34  * University Copyright- Copyright (c) 1982, 1986, 1988
35  * The Regents of the University of California
36  * All Rights Reserved
37  *
38  * University Acknowledgment- Portions of this document are derived from
39  * software developed by the University of California, Berkeley, and its
40  * contributors.
41  */
42 
43 /*
44  * Suffix table
45  */
46 
47 static	unsigned char sufa[] = {
48 	02,0200+'t',	/* -TA */
49 	02,0200+'s',	/* -SA */
50 	03,0200+'t','r',	/* -TRA */
51 	03,0200+'d','r',	/* -DRA */
52 	03,0200+'b','r',	/* -BRA */
53 	02,0200+'p',	/* -PA */
54 	02,0200+'n',	/* -NA */
55 	02,0200+'m',	/* -MA */
56 	03,0200+'p','l',	/* -PLA */
57 	02,0200+'l',	/* -LA */
58 	02,0200+'k',	/* -KA */
59 	03,0200+'t','h',	/* -THA */
60 	03,0200+'s','h',	/* -SHA */
61 	02,0200+'g',	/* -GA */
62 	02,0200+'d',	/* -DA */
63 	02,0200+'c',	/* -CA */
64 	02,0200+'b',	/* -BA */
65 	00
66 };
67 
68 static	unsigned char sufc[] = {
69 	04,'e','t',0200+'i',	/* ET-IC */
70 	07,'a','l',0200+'i','s',0200+'t','i',	/* AL-IS-TIC */
71 	04,'s',0200+'t','i',	/* S-TIC */
72 	04,'p',0200+'t','i',	/* P-TIC */
73 	05,0200+'l','y','t',0200+'i',	/* -LYT-IC */
74 	04,'o','t',0200+'i',	/* OT-IC */
75 	05,'a','n',0200+'t','i',	/* AN-TIC */
76 	04,'n',0200+'t','i',	/* N-TIC */
77 	04,'c',0200+'t','i',	/* C-TIC */
78 	04,'a','t',0200+'i',	/* AT-IC */
79 	04,'h',0200+'n','i',	/* H-NIC */
80 	03,'n',0200+'i',	/* N-IC */
81 	03,'m',0200+'i',	/* M-IC */
82 	04,'l',0200+'l','i',	/* L-LIC */
83 	04,'b',0200+'l','i',	/* B-LIC */
84 	04,0200+'c','l','i',	/* -CLIC */
85 	03,'l',0200+'i',	/* L-IC */
86 	03,'h',0200+'i',	/* H-IC */
87 	03,'f',0200+'i',	/* F-IC */
88 	03,'d',0200+'i',	/* D-IC */
89 	03,0200+'b','i',	/* -BIC */
90 	03,'a',0200+'i',	/* A-IC */
91 	03,0200+'m','a',	/* -MAC */
92 	03,'i',0200+'a',	/* I-AC */
93 	00
94 };
95 
96 static	unsigned char sufd[] = {
97 	04,0200+'w','o','r',	/* -WORD */
98 	04,0200+'l','o','r',	/* -LORD */
99 	04,0200+'f','o','r',	/* -FORD */
100 	04,0200+'y','a','r',	/* -YARD */
101 	04,0200+'w','a','r',	/* -WARD */
102 	05,0200+'g','u','a','r',	/* -GUARD */
103 	04,0200+'t','a','r',	/* -TARD */
104 	05,0200+'b','o','a','r',	/* -BOARD */
105 	04,0200+'n','a','r',	/* -NARD */
106 	05,0200+'l','i','a','r',	/* -LIARD */
107 	04,0200+'i','a','r',	/* -IARD */
108 	04,0200+'g','a','r',	/* -GARD */
109 	04,0200+'b','a','r',	/* -BARD */
110 	03,0200+'r','o',	/* -ROD */
111 	04,0200+'w','o','o',	/* -WOOD */
112 	04,0200+'h','o','o',	/* -HOOD */
113 	04,0200+'m','o','n',	/* -MOND */
114 	04,0200+'t','e','n',	/* -TEND */
115 	05,0200+'s','t','a','n',	/* -STAND */
116 	04,0200+'l','a','n',	/* -LAND */
117 	04,0200+'h','a','n',	/* -HAND */
118 	04,0200+'h','o','l',	/* -HOLD */
119 	04,0200+'f','o','l',	/* -FOLD */
120 	05,0200+'f','i','e','l',	/* -FIELD */
121 	03,0200+'v','i',	/* -VID */
122 	03,0200+'c','i',	/* -CID */
123 	04,0200+'s','a','i',	/* -SAID */
124 	04,0200+'m','a','i',	/* -MAID */
125 	04,'t',0200+'t','e',	/* T-TED */
126 	03,'t',0200+'e',	/* T-ED */
127 	04,0200+'d','r','e',	/* -DRED */
128 	04,0200+'c','r','e',	/* -CRED */
129 	04,0200+'b','r','e',	/* -BRED */
130 	05,'v',0200+'e','l','e',	/* V-ELED */
131 	0100+04,'a','l',0200+'e',	/* AL/ED */
132 	0140+03,0200+'e','e',	/* /EED */
133 	040+05,'e','d',0200+'d','e',	/* ED-DED */
134 	04,'d',0200+'d','e',	/* D-DED */
135 	040+04,'e','d',0200+'e',	/* ED-ED */
136 	03,'d',0200+'e',	/* D-ED */
137 	05,0200+'d','u','c','e',	/* -DUCED */
138 	0300+02,'e',	/* E/D */
139 	05,0200+'s','t','e','a',	/* -STEAD */
140 	04,0200+'h','e','a',	/* -HEAD */
141 	00
142 };
143 
144 static	unsigned char sufe[] = {
145 	05,'a','r',0200+'i','z',	/* AR-IZE */
146 	05,'a','n',0200+'i','z',	/* AN-IZE */
147 	05,'a','l',0200+'i','z',	/* AL-IZE */
148 	06,0200+'a','r','d',0200+'i','z',	/* -ARD-IZE */
149 	05,0200+'s','e','l','v',	/* -SELVE */
150 	05,0200+'k','n','i','v',	/* -KNIVE */
151 	05,0200+'l','i','e','v',	/* -LIEVE */
152 	0100+03,0200+'q','u',	/* /QUE */
153 	07,'o','n',0200+'t','i','n',0200+'u',	/* ON-TIN-UE */
154 	03,0200+'n','u',	/* -NUE */
155 	03,0200+'d','u',	/* -DUE */
156 	0300+02,'u',	/* U/E */
157 	0300+05,'q','u','a','t',	/*  QUAT/E */
158 	04,'u',0200+'a','t',	/* U-ATE */
159 	05,0200+'s','t','a','t',	/* -STATE */
160 	04,0200+'t','a','t',	/* -TATE */
161 	06,0200+'t','o','r',0200+'a','t',	/* -TOR-ATE */
162 	05,'e','n',0200+'a','t',	/* EN-ATE */
163 	04,0200+'m','a','t',	/* -MATE */
164 	05,0200+'h','o','u','s',	/* -HOUSE */
165 	05,0200+'c','l','o','s',	/* -CLOSE */
166 	04,'i',0200+'o','s',	/* I-OSE */
167 	04,0200+'w','i','s',	/* -WISE */
168 	05,'a','s',0200+'u','r',	/* AS-URE */
169 	040+04,0200+'s','u','r',	/* -SURE */
170 	06,0200+'f','i','g',0200+'u','r',	/* -FIG-URE */
171 	040+03,0200+'t','r',	/* -TRE */
172 	05,0200+'s','t','o','r',	/* -STORE */
173 	04,0200+'f','o','r',	/* -FORE */
174 	05,0200+'w','h','e','r',	/* -WHERE */
175 	06,0200+'s','p','h','e','r',	/* -SPHERE */
176 	03,0200+'d','r',	/* -DRE */
177 	03,0200+'c','r',	/* -CRE */
178 	03,0200+'b','r',	/* -BRE */
179 	05,0200+'s','c','o','p',	/* -SCOPE */
180 	04,'y',0200+'o','n',	/* Y-ONE */
181 	05,0200+'s','t','o','n',	/* -STONE */
182 	05,0200+'p','h','o','n',	/* -PHONE */
183 	04,0200+'g','o','n',	/* -GONE */
184 	04,'e',0200+'o','n',	/* E-ONE */
185 	040+04,0200+'e','n','n',	/* -ENNE */
186 	040+05,'a',0200+'r','i','n',	/* A-RINE */
187 	05,0200+'c','l','i','n',	/* -CLINE */
188 	04,0200+'l','i','n',	/* -LINE */
189 	007,00200+'r','o','u',00200+'t','i','n',	/*-ROU-TINE */
190 	04,0200+'s','o','m',	/* -SOME */
191 	04,0200+'c','o','m',	/* -COME */
192 	04,0200+'t','i','m',	/* -TIME */
193 	03,0200+'z','l',	/* -ZLE */
194 	03,0200+'t','l',	/* -TLE */
195 	03,0200+'s','l',	/* -SLE */
196 	03,0200+'p','l',	/* -PLE */
197 	05,0200+'v','i','l','l',	/* -VILLE */
198 	04,'c','k',0200+'l',	/* CK-LE */
199 	03,0200+'k','l',	/* -KLE */
200 	03,0200+'g','l',	/* -GLE */
201 	03,0200+'f','l',	/* -FLE */
202 	03,0200+'d','l',	/* -DLE */
203 	03,0200+'c','l',	/* -CLE */
204 	05,0200+'p','a',0200+'b','l',	/* -PA-BLE */
205 	05,'f','a',0200+'b','l',	/* FA-BLE */
206 	05,0200+'c','a',0200+'b','l',	/* -CA-BLE */
207 	06,0200+'s','t','a','b','l',	/* -STABLE */
208 	04,0200+'a','b','l',	/* -ABLE */
209 	03,0200+'b','l',	/* -BLE */
210 	04,0200+'d','a','l',	/* -DALE */
211 	04,0200+'m','a','l',	/* -MALE */
212 	04,0200+'s','a','l',	/* -SALE */
213 	04,0200+'l','i','k',	/* -LIKE */
214 	0340+05,'g',0200+'u','a','g',	/* -G/UAGE */
215 	05,0200+'r','i','a','g',	/* -RIAGE */
216 	05,'e','r',0200+'a','g',	/* ER-AGE */
217 	04,'m',0200+'a','g',	/* M-AGE */
218 	04,'k',0200+'a','g',	/* K-AGE */
219 	04,'d',0200+'a','g',	/* D-AGE */
220 	04,0200+'w','i','f',	/* -WIFE */
221 	05,0200+'k','n','i','f',	/* -KNYFE */
222 	03,0200+'s','e',	/* -SEE */
223 	04,0200+'f','r','e',	/* -FREE */
224 	0340+02,'e',	/* EE */
225 	04,0200+'w','i','d',	/* -WIDE */
226 	04,0200+'t','i','d',	/* -TIDE */
227 	04,0200+'s','i','d',	/* -SIDE */
228 	06,0200+'q','u','e','n','c',	/* -QUENCE */
229 	07,0200+'f','l','u',0200+'e','n','c',	/* -FLU-ENCE */
230 	040+06,'e','s',0200+'e','n','c',	/* ES-ENCE */
231 	06,'e','r',0200+'e','n','c',	/* ER-ENCE */
232 	05,'i',0200+'e','n','c',	/* I-ENCE */
233 	040+05,0200+'s','a','n','c',	/* -SANCE */
234 	06,'e','r',0200+'a','n','c',	/* ER-ANCE */
235 	06,'a','r',0200+'a','n','c',	/* AR-ANCE */
236 	05,0200+'n','a','n','c',	/* -NANCE */
237 	07,0200+'b','a','l',0200+'a','n','c',	/* -BAL-ANCE */
238 	05,'i',0200+'a','n','c',	/* I-ANCE */
239 	07,0200+'j','u','s',0200+'t','i','c',	/* -JUS-TICE */
240 	05,0200+'s','t','i','c',	/* -STICE */
241 	05,0200+'p','i','e','c',	/* -PIECE */
242 	05,0200+'p','l','a','c',	/* -PLACE */
243 	0340+01,	/* /E */
244 	00
245 };
246 
247 static	unsigned char suff[] = {
248 	03,0200+'o','f',	/* -OFF */
249 	05,0200+'p','r','o','o',	/* -PROOF */
250 	04,0200+'s','e','l',	/* -SELF */
251 	03,0200+'r','i',	/* -RIF */
252 	040+04,0200+'l','i','e',	/* -LIEF */
253 	00
254 };
255 
256 static	unsigned char sufg[] = {
257 	03,0200+'l','o',	/* -LOG */
258 	04,0200+'l','o','n',	/* -LONG */
259 	05,'t',0200+'t','i','n',	/* T-TING */
260 	06,0200+'s','t','r','i','n',	/*  -STRING */
261 	05,'r',0200+'r','i','n',	/* R-RING */
262 	05,'p',0200+'p','i','n',	/* P-PING */
263 	05,'n',0200+'n','i','n',	/* N-NING */
264 	05,'m',0200+'m','i','n',	/* M-MING */
265 	05,'l',0200+'l','i','n',	/*  L-LING */
266 	05,0200+'z','l','i','n',	/* -ZLING */
267 	05,0200+'t','l','i','n',	/* -TLING */
268 	040+05,'s',0200+'l','i','n',	/* S-LING */
269 	05,'r',0200+'l','i','n',	/* R-LING */
270 	05,0200+'p','l','i','n',	/* -PLING */
271 	06,'n',0200+'k','l','i','n',	/* N-KLING */
272 	05,'k',0200+'l','i','n',	/* K-LING */
273 	05,0200+'g','l','i','n',	/* -GLING */
274 	05,0200+'f','l','i','n',	/* -FLING */
275 	05,0200+'d','l','i','n',	/* -DLING */
276 	05,0200+'c','l','i','n',	/* -CLING */
277 	05,0200+'b','l','i','n',	/* -BLING */
278 	06,'y',0200+'t','h','i','n',	/* Y-THING */
279 	07,'e','e','t','h',0200+'i','n',	/* EETH-ING */
280 	06,'e',0200+'t','h','i','n',	/* E-THING */
281 	05,'g',0200+'g','i','n',	/* G-GING */
282 	05,'d',0200+'d','i','n',	/* D-DING */
283 	05,'b',0200+'b','i','n',	/* B-BING */
284 	03,0200+'i','n',	/* -ING */
285 	00
286 };
287 
288 static	unsigned char sufh[] = {
289 	05,0200+'m','o','u','t',	/* -MOUTH */
290 	05,0200+'w','o','r','t',	/* -WORTH */
291 	04,0200+'w','i','t',	/* -WITH */
292 	05,'t',0200+'t','i','s',	/* T-TISH */
293 	05,'e',0200+'t','i','s',	/* E-TISH */
294 	05,'p',0200+'p','i','s',	/* P-PISH */
295 	05,'r',0200+'n','i','s',	/* R-NISH */
296 	05,'n',0200+'n','i','s',	/* N-NISH */
297 	05,0200+'p','l','i','s',	/* -PLISH */
298 	05,0200+'g','u','i','s',	/*  -GUISH */
299 	05,0200+'g','l','i','s',	/*  -GLISH */
300 	05,'b',0200+'l','i','s',	/*  B-LISH */
301 	05,'g',0200+'g','i','s',	/* G-GISH */
302 	05,'d',0200+'d','i','s',	/* D-DISH */
303 	03,0200+'i','s',	/* -ISH */
304 	05,0200+'g','r','a','p',	/* -GRAPH */
305 	07,0200+'b','o','r',0200+'o','u','g',	/* -BOR-OUGH */
306 	05,0200+'b','u','r','g',	/* -BURGH */
307 	04,0200+'v','i','c',	/* -VICH */
308 	03,0200+'n','a',	/* -NAH */
309 	03,0200+'l','a',	/* -LAH */
310 	04,0200+'m','i',0200+'a',	/* -MI-AH */
311 	00
312 };
313 
314 static	unsigned char sufi[] = {
315 	03,0200+'t','r',	/* -TRI */
316 	03,0200+'c','h',	/* -CHI */
317 	0200+03,'i','f',	/* IF-I */
318 	0200+03,'e','d',	/* ED-I */
319 	05,0200+'a','s','c','i',	/* -ASCII */
320 	04,0200+'s','e','m',	/* -SEMI */
321 	00
322 };
323 
324 static	unsigned char sufk[] = {
325 	04,0200+'w','o','r',	/* -WORK */
326 	04,0200+'m','a','r',	/* -MARK */
327 	04,0200+'b','o','o',	/* -BOOK */
328 	04,0200+'w','a','l',	/* -WALK */
329 	05,0200+'c','r','a','c',	/* -CRACK */
330 	04,0200+'b','a','c',	/* -BACK */
331 	00
332 };
333 
334 static	unsigned char sufl[] = {
335 	03,0200+'f','u',	/* -FUL */
336 	05,'s',0200+'w','e','l',	/* S-WELL */
337 	04,0200+'t','e','l',	/* -TELL */
338 	05,0200+'s','h','e','l',	/* -SHELL */
339 	05,0200+'s','t','a','l',	/* -STALL */
340 	04,'s',0200+'t','a',	/* S-TAL */
341 	04,0200+'b','a','l',	/* -BALL */
342 	04,0200+'c','a','l',	/* -CALL */
343 	03,'v',0200+'e',	/* V-EL */
344 	03,'u',0200+'e',	/* U-EL */
345 	03,'k',0200+'e',	/* K-EL */
346 	04,'t','h',0200+'e',	/* TH-EL */
347 	05,'t','c','h',0200+'e',	/* TCH-EL */
348 	03,'a',0200+'e',	/* A-EL */
349 	0140+04,0200+'q','u','a',	/* /QUAL */
350 	040+03,'u',0200+'a',	/* U-AL */
351 	03,0200+'t','a',	/* -TAL */
352 	04,'u','r',0200+'a',	/* UR-AL */
353 	040+05,'g',0200+'o',0200+'n','a',	/* G-O-NAL */
354 	04,'o','n',0200+'a',	/* ON-AL */
355 	03,0200+'n','a',	/* -NAL */
356 	04,0200+'t','i','a',	/* -TIAL */
357 	04,0200+'s','i','a',	/* -SIAL */
358 	040+05,0200+'t','r','i',0200+'a',	/* -TRI-AL */
359 	04,'r','i',0200+'a',	/* RI-AL */
360 	04,0200+'n','i',0200+'a',	/* -NI-AL */
361 	04,0200+'d','i',0200+'a',	/* -DI-AL */
362 	04,0200+'c','i','a',	/* -CIAL */
363 	03,0200+'g','a',	/* -GAL */
364 	04,0200+'m','e','a',	/* -MEAL */
365 /*	040+04,0200+'r','e',0200+'a', */	/* -RE-AL */
366 	040+04,0200+'r','e','a',	/* -REAL */
367 	06,'c',0200+'t','i',0200+'c','a',	/* C-TI-CAL */
368 	05,0200+'s','i',0200+'c','a',	/* -SI-CAL */
369 	04,0200+'i',0200+'c','a',	/* -I-CAL */
370 	03,0200+'c','a',	/* -CAL */
371 	03,0200+'b','a',	/* -BAL */
372 	06,0200+'n','o',0200+'m','i',0200+'a',	/* -NO-MI-AL */
373 	00
374 };
375 
376 static	unsigned char sufm[] = {
377 	03,0200+'n','u',	/* -NUM */
378 	05,'o',0200+'r','i',0200+'u',	/* O-RI-UM */
379 	040+03,'i',0200+'u',	/* I-UM */
380 	040+03,'e',0200+'u',	/* E-UM */
381 	05,'i','v',0200+'i','s',	/* IV-ISM */
382 	04,0200+'t','i','s',	/* -TISM */
383 	05,'i',0200+'m','i','s',	/* I-MISM */
384 	05,'a','l',0200+'i','s',	/* AL-ISM */
385 	040+04,'e',0200+'i','s',	/* E-ISM */
386 	040+04,'a',0200+'i','s',	/* A-ISM */
387 	04,0200+'r','o','o',	/* -ROOM */
388 	03,0200+'d','o',	/* -DOM */
389 	03,0200+'h','a',	/* -HAM */
390 	06,0200+'a',0200+'r','i','t','h',	/* -A-RITHM */
391 	05,0200+'r','i','t','h',	/* -RITHM */
392 	00
393 };
394 
395 static	unsigned char sufn[] = {
396 	05,0200+'k','n','o','w', /* -KNOWN */
397 	04,0200+'t','o','w',	/* -TOWN */
398 	04,0200+'d','o','w',	/* -DOWN */
399 	04,0200+'t','u','r',	/* -TURN */
400 	05,0200+'s','p','o','o',	/* -SPOON */
401 	04,0200+'n','o','o',	/* -NOON */
402 	04,0200+'m','o','o',	/* -MOON */
403 	011,'a','l',0200+'i',0200+'z','a',0200+'t','i','o',	/* AL-I-ZA-TION */
404 	07,0200+'i',0200+'z','a',0200+'t','i','o',	/* -I-ZA-TION */
405 	07,'l',0200+'i',0200+'a',0200+'t','i','o',	/* L-I-A-TION */
406 	04,0200+'t','i','o',	/* -TION */
407 	040+05,'s',0200+'s','i','o',	/* S-SION */
408 	04,0200+'s','i','o',	/* -SION */
409 	04,'n',0200+'i','o',	/* N-ION */
410 	04,0200+'g','i','o',	/* -GION */
411 	04,0200+'c','i','o',	/* -CION */
412 	03,0200+'c','o',	/* -CON */
413 	05,0200+'c','o','l','o',	/* -COLON */
414 	03,0200+'t','o',	/* -TON */
415 	04,'i','s',0200+'o',		/* IS-ON */
416 	03,0200+'s','o',	/* -SON */
417 	03,0200+'r','i',	/* -RIN */
418 	03,0200+'p','i',	/* -PIN */
419 	03,0200+'n','i',	/* -NIN */
420 	03,0200+'m','i',	/* -MIN */
421 	03,0200+'l','i',	/* -LIN */
422 	03,0200+'k','i',	/* -KIN */
423 	05,0200+'s','t','e','i',	/* -STEIN */
424 	04,0200+'t','a','i',	/* -TAIN */
425 	05,'g','h','t',0200+'e',	/* GHT-EN */
426 	05,0200+'w','o','m',0200+'e',	/* -WOM-EN */
427 	03,0200+'m','e',	/* -MEN */
428 	04,'o',0200+'k','e',	/* O-KEN */
429 	03,'k',0200+'e',	/* K-EN */
430 	04,0200+'t','e','e',	/* -TEEN */
431 	04,0200+'s','e','e',	/* -SEEN */
432 	040+03,0200+'s','a',	/* -SAN */
433 	05,0200+'w','o','m',0200+'a',	/* -WOM-AN */
434 	03,0200+'m','a',	/* -MAN */
435 	04,0200+'t','i','a',	/* -TIAN */
436 	04,0200+'s','i','a',	/* -SIAN */
437 	040+04,'e',0200+'i','a',	/* E-IAN */
438 	04,0200+'c','i','a',	/* -CIAN */
439 	0300+03,'i','a',	/* IA/N */
440 	05,0200+'c','l','e','a',	/* -CLEAN */
441 	04,0200+'m','e','a',	/* -MEAN */
442 	040+03,'e',0200+'a',	/* E-AN */
443 	00
444 };
445 
446 static	unsigned char sufo[] = {
447 	05,0200+'m','a','c',0200+'r',	/* -MAC-RO */
448 	00
449 };
450 
451 static	unsigned char sufp[] = {
452 	05,0200+'g','r','o','u',	/* -GROUP */
453 	02,0200+'u',	/* -UP */
454 	04,0200+'s','h','i',	/* -SHIP */
455 	04,0200+'k','e','e',	/* -KEEP */
456 	00
457 };
458 
459 static	unsigned char sufr[] = {
460 	04,0200+'z','a','r',	/* -ZARR */
461 	0300+02,'r',	/* R/R */
462 	03,0200+'t','o',	/* -TOR */
463 	040+03,0200+'s','o',	/* -SOR */
464 	040+04,0200+'r','i',0200+'o',	/* -RI-OR */
465 	04,'i','z',0200+'e',	/* IZ-ER */
466 	05,0200+'c','o','v',0200+'e',	/* -COV-ER */
467 	04,0200+'o','v','e',	/* -OVER */
468 	04,0200+'e','v',0200+'e',	/* -EV-ER */
469 	8,0200+'c','o','m',0200+'p','u','t',0200+'e',	/* -COM-PUT-ER */
470 	040+05,'u','s',0200+'t','e',	/* US-TER */
471 	05,'o','s','t',0200+'e',	/* OST-ER */
472 	040+05,0200+'a','c',0200+'t','e',	/* -AC-TER */
473 	06,0200+'w','r','i','t',0200+'e',	/* -WRIT-ER */
474 	040+05,'i','s',0200+'t','e',	/* IS-TER */
475 	040+05,'e','s',0200+'t','e',	/* ES-TER */
476 	040+05,'a','s',0200+'t','e',	/* AS-TER */
477 	04,0200+'s','t','e',	/* -STER */
478 	05,'a','r',0200+'t','e',	/* AR-TER */
479 	04,'r','t',0200+'e',	/* RT-ER */
480 	040+05,'m',0200+'e',0200+'t','e',	/* M-E-TER */
481 	05,0200+'w','a',0200+'t','e',	/* -WA-TER */
482 	03,'r',0200+'e',	/* R-ER */
483 	04,'o','p',0200+'e',	/* OP-ER */
484 	05,0200+'p','a',0200+'p','e',	/* -PA-PER */
485 	04,'w','n',0200+'e',	/* WN-ER */
486 	040+04,'s',0200+'n','e',	/* S-NER */
487 	04,'o','n',0200+'e',	/* ON-ER */
488 	04,'r','m',0200+'e',	/* RM-ER */
489 	03,0200+'m','e',	/* -MER */
490 	04,'l','l',0200+'e',	/* LL-ER */
491 	05,'d',0200+'d','l','e',	/* D-DLER */
492 	04,0200+'b','l','e',	/* -BLER */
493 	03,'k',0200+'e',	/* K-ER */
494 	05,'n',0200+'t','h','e',	/* N-THER */
495 	06,0200+'f','a',0200+'t','h','e',	/* -FA-THER */
496 	06,'e','i',0200+'t','h','e',	/* EI-THER */
497 	04,'t','h',0200+'e',	/* TH-ER */
498 	04,'s','h',0200+'e',	/* SH-ER */
499 	04,0200+'p','h','e',	/* -PHER */
500 	04,'c','h',0200+'e',	/* CH-ER */
501 	04,'d','g',0200+'e',	/* DG-ER */
502 	04,'r','d',0200+'e',	/* RD-ER */
503 	06,'o','u','n','d',0200+'e',	/* OUND-ER */
504 	04,'l','d',0200+'e',	/* LD-ER */
505 	04,'i','d',0200+'e',	/* ID-ER */
506 	05,0200+'d','u','c',0200+'e',	/* -DUC-ER */
507 	04,'n','c',0200+'e',	/* NC-ER */
508 	0100+02, 0200+'e',	/*  /ER */
509 	03,0200+'s','a',	/* -SAR */
510 	040+06,'a','c',0200+'u',0200+'l','a',	/* AC-U-LAR */
511 	040+06,'e','c',0200+'u',0200+'l','a',	/* EC-U-LAR */
512 	040+06,'i','c',0200+'u',0200+'l','a',	/* IC-U-LAR */
513 	040+06,'e','g',0200+'u',0200+'l','a',	/* EG-U-LAR */
514 	00
515 };
516 
517 static	unsigned char sufs[] = {
518 	040+04,'u',0200+'o','u',	/* U-OUS */
519 	05,0200+'t','i','o','u',	/* -TIOUS */
520 	05,0200+'g','i','o','u',	/* -GIOUS */
521 	05,0200+'c','i','o','u',	/* -CIOUS */
522 	040+04,'i',0200+'o','u',	/* I-OUS */
523 	05,0200+'g','e','o','u',	/* -GEOUS */
524 	05,0200+'c','e','o','u',	/* -CEOUS */
525 	04,'e',0200+'o','u',	/* E-OUS */
526 	0140+02,0200+'u',	/* /US */
527 	04,0200+'n','e','s',	/* -NESS */
528 	04,0200+'l','e','s',	/* -LESS */
529 	0140+02,0200+'s',	/* /SS */
530 	040+05,'p',0200+'o',0200+'l','i',	/* P-O-LIS */
531 	0140+02,0200+'i',	/* /IS */
532 	0100+03,0200+'x','e',	/* X/ES */
533 	0100+03,0200+'s','e',	/* S/ES */
534 	0100+04,'s','h',0200+'e',	/* SH/ES */
535 	0100+04,'c','h',0200+'e',	/* CH/ES */
536 	0300+01,	/* /S */
537 	00
538 };
539 
540 static	unsigned char suft[] = {
541 	06,'i','o','n',0200+'i','s',	/* ION-IST */
542 	05,'i','n',0200+'i','s',	/* IN-IST */
543 	05,'a','l',0200+'i','s',	/* AL-IST */
544 	06,'l',0200+'o',0200+'g','i','s',	/* L-O-GIST */
545 	05,'h','t',0200+'e','s',	/* HT-EST */
546 	04,'i',0200+'e','s',	/* I-EST */
547 	05,'g',0200+'g','e','s',	/* G-GEST */
548 	04,'g',0200+'e','s',	/* G-EST */
549 	05,'d',0200+'d','e','s',	/* D-DEST */
550 	04,'d',0200+'e','s',	/* D-EST */
551 	04,0200+'c','a','s',	/* -CAST */
552 	05,0200+'h','e','a','r',	/* -HEART */
553 	04,0200+'f','o','o',	/* -FOOT */
554 	03,'i',0200+'o',	/* I-OT */
555 	05,0200+'f','r','o','n',	/* -FRONT */
556 	05,0200+'p','r','i','n',	/* -PRINT */
557 	04,0200+'m','e','n',	/* -MENT */
558 	05,0200+'c','i','e','n',	/* -CIENT */
559 	04,'i',0200+'a','n',	/* I-ANT */
560 	06,0200+'w','r','i','g','h',	/* -WRIGHT */
561 	06,0200+'b','r','i','g','h',	/* -BRIGHT */
562 	06,0200+'f','l','i','g','h',	/* -FLIGHT */
563 	06,0200+'w','e','i','g','h',	/* -WEIGHT */
564 	05,0200+'s','h','i','f',	/* -SHIFT */
565 	05,0200+'c','r','a','f',	/* -CRAFT */
566 	040+04,'d','g',0200+'e',	/* DG-ET */
567 	04,0200+'g','o','a',	/* -GOAT */
568 	04,0200+'c','o','a',	/* -COAT */
569 	04,0200+'b','o','a',	/* -BOAT */
570 	04,0200+'w','h','a',	/* -WHAT */
571 	04,0200+'c','u','i',	/* -CUIT */
572 	00
573 };
574 
575 static	unsigned char sufy[] = {
576 	040+04,'e','s',0200+'t',	/* ES-TY */
577 	040+05,'q','u','i',0200+'t',	/* QUI-TY */
578 	04,0200+'t','i',0200+'t',	/* -TI-TY */
579 	040+05,'o','s',0200+'i',0200+'t',	/* OS-I-TY */
580 	04,0200+'s','i',0200+'t',	/* -SI-TY */
581 	05,'i','n',0200+'i',0200+'t',	/* IN-I-TY */
582 	04,'n','i',0200+'t',	/* NI-TY */
583 	040+010,'f','a',0200+'b','i','l',0200+'i',0200+'t',	/* FA-BIL-I-TY */
584 	010,0200+'c','a',0200+'b','i','l',0200+'i',0200+'t',	/* -CA-BIL-I-TY */
585 	010,0200+'p','a',0200+'b','i','l',0200+'i',0200+'t',	/* -PA-BIL-I-TY */
586 	06,0200+'b','i','l',0200+'i',0200+'t',	/* -BIL-I-TY */
587 	03,'i',0200+'t',	/* I-TY */
588 	04,0200+'b','u','r',	/* -BUR-Y */
589 	04,0200+'t','o',0200+'r',	/* -TO-RY */
590 	05,0200+'q','u','a','r',	/* -QUAR-Y */
591 	040+04,'u',0200+'a','r',	/* U-ARY */
592 	07,0200+'m','e','n',0200+'t','a',0200+'r',	/* -MEN-TA-RY */
593 	06,'i','o','n',0200+'a','r',	/* ION-ARY */
594 	04,'i',0200+'a','r',	/* I-ARY */
595 	04,'n',0200+'o',0200+'m',	/* N-O-MY */
596 	03,0200+'p','l',	/* -PLY */
597 	04,'g',0200+'g','l',	/* G-GLY */
598 	05,0200+'p','a',0200+'b','l',	/* -PA-BLY */
599 	05,'f','a',0200+'b','l',	/* FA-BLY */
600 	05,0200+'c','a',0200+'b','l',	/* -CA-BLY */
601 	04,0200+'a','b','l',	/* -ABLY */
602 	03,0200+'b','l',	/* -BLY */
603 	02,0200+'l',	/* -LY */
604 	03,0200+'s','k',	/* -SKY */
605 	040+06,'g',0200+'r','a',0200+'p','h',	/* G-RA-PHY */
606 	04,'l',0200+'o',0200+'g',	/* L-O-GY */
607 	02,0200+'f',	/* -FY */
608 	03,0200+'n','e',	/* -NEY */
609 	03,0200+'l','e',	/* -LEY */
610 	04,'c','k',0200+'e',	/* CK-EY */
611 	03,0200+'k','e',	/* -KEY */
612 	04,0200+'b','o','d',	/* -BODY */
613 	05,0200+'s','t','u','d',	/* -STUDY */
614 	0340+04,'e','e','d',	/* EEDY */
615 	02,0200+'b',	/* -BY */
616 	03,0200+'w','a',	/* -WAY */
617 	03,0200+'d','a',	/* -DAY */
618 	00
619 };
620 
621 unsigned char	*suftab[] = {
622 	sufa,
623 	0,
624 	sufc,
625 	sufd,
626 	sufe,
627 	suff,
628 	sufg,
629 	sufh,
630 	sufi,
631 	0,
632 	sufk,
633 	sufl,
634 	sufm,
635 	sufn,
636 	sufo,
637 	sufp,
638 	0,
639 	sufr,
640 	sufs,
641 	suft,
642 	0,
643 	0,
644 	0,
645 	0,
646 	sufy,
647 	0,
648 };
649