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