xref: /original-bsd/old/roff/troff_font/mkfont1.c (revision 50dd0bba)
1 #ifndef lint
2 static char mkfont1sccsid[] = "@(#)mkfont1.c	4.3 02/16/88";
3 #endif lint
4 
5 #define BYTE 8
6 #define PAIR(a,b) ((a)|((b)<<BYTE))
7 
8 struct {
9 	int name;
10 	int ctval;
11 	} font[102] = {
12 'h',2,
13 't',2,
14 'n',0,
15 'm',0,
16 'l',2,
17 'i',2,
18 'z',0,
19 's',0,
20 'd',2,
21 'b',2,
22 'x',0,
23 'f',2,
24 'j',3,
25 'u',0,
26 'k',2,
27 'p',1,
28 PAIR('e','m'),0,
29 ';',0,
30 'a',0,
31 PAIR('r','u'),0,
32 'c',0,
33 '`',0,
34 'e',0,
35 '\'',0,
36 'o',0,
37 PAIR('1','4'),0,
38 'r',0,
39 PAIR('1','2'),0,
40 'v',0,
41 PAIR('h','y'),0,
42 'w',0,
43 'q',1,
44 '/',0,
45 '.',0,
46 'g',1,
47 PAIR('3','4'),0,
48 ',',0,
49 '&',0,
50 'y',1,
51 '%',0,
52 'Q',3,
53 'T',2,
54 'O',2,
55 'H',2,
56 'N',2,
57 'M',2,
58 'L',2,
59 'R',2,
60 'G',2,
61 'I',2,
62 'P',2,
63 'C',2,
64 'V',2,
65 'E',2,
66 'Z',2,
67 'D',2,
68 'B',2,
69 'S',2,
70 'Y',2,
71 'F',2,
72 'X',2,
73 'A',2,
74 'W',2,
75 'J',2,
76 'U',2,
77 'K',2,
78 '0',2,
79 '1',2,
80 '2',2,
81 '3',2,
82 '4',2,
83 '5',2,
84 '6',2,
85 '7',2,
86 '8',2,
87 '9',2,
88 '*',0,
89 PAIR('-','-'),0,
90 PAIR('f','i'),0,
91 PAIR('f','l'),0,
92 PAIR('f','f'),0,
93 PAIR('c','t'),0,
94 PAIR('F','l'),0,
95 PAIR('F','i'),0,
96 '(',0,
97 ')',0,
98 '[',0,
99 ']',0,
100 PAIR('d','e'),0,
101 PAIR('d','g'),0,
102 '=',0,
103 PAIR('r','g'),0,
104 ':',0,
105 '+',0,
106 '!',0,
107 PAIR('b','u'),0,
108 '?',0,
109 PAIR('f','m'),0,
110 '|',0,
111 PAIR('c','o'),0,
112 PAIR('s','q'),0,
113 '$',0};
114 char *nametab[256-32] = {
115 "/*space*/",
116 "/*!*/",
117 "/*\"*/",
118 "/*#*/",
119 "/*$*/",
120 "/*%*/",
121 "/*&*/",
122 "/*' close*/",
123 "/*(*/",
124 "/*)*/",
125 "/***/",
126 "/*+*/",
127 "/*,*/",
128 "/*- hyphen*/",
129 "/*.*/",
130 "/*/*/",
131 "/*0*/",
132 "/*1*/",
133 "/*2*/",
134 "/*3*/",
135 "/*4*/",
136 "/*5*/",
137 "/*6*/",
138 "/*7*/",
139 "/*8*/",
140 "/*9*/",
141 "/*:*/",
142 "/*;*/",
143 "/*<*/",
144 "/*=*/",
145 "/*>*/",
146 "/*?*/",
147 "/*@*/",
148 "/*A*/",
149 "/*B*/",
150 "/*C*/",
151 "/*D*/",
152 "/*E*/",
153 "/*F*/",
154 "/*G*/",
155 "/*H*/",
156 "/*I*/",
157 "/*J*/",
158 "/*K*/",
159 "/*L*/",
160 "/*M*/",
161 "/*N*/",
162 "/*O*/",
163 "/*P*/",
164 "/*Q*/",
165 "/*R*/",
166 "/*S*/",
167 "/*T*/",
168 "/*U*/",
169 "/*V*/",
170 "/*W*/",
171 "/*X*/",
172 "/*Y*/",
173 "/*Z*/",
174 "/*[*/",
175 "/*\\*/",
176 "/*]*/",
177 "/*^*/",
178 "/*_*/",
179 "/*` open*/",
180 "/*a*/",
181 "/*b*/",
182 "/*c*/",
183 "/*d*/",
184 "/*e*/",
185 "/*f*/",
186 "/*g*/",
187 "/*h*/",
188 "/*i*/",
189 "/*j*/",
190 "/*k*/",
191 "/*l*/",
192 "/*m*/",
193 "/*n*/",
194 "/*o*/",
195 "/*p*/",
196 "/*q*/",
197 "/*r*/",
198 "/*s*/",
199 "/*t*/",
200 "/*u*/",
201 "/*v*/",
202 "/*w*/",
203 "/*x*/",
204 "/*y*/",
205 "/*z*/",
206 "/*{*/",
207 "/*|*/",
208 "/*}*/",
209 "/*~*/",
210 "/*narrow space*/",
211 "/*hyphen*/",
212 "/*bullet*/",
213 "/*square*/",
214 "/*3/4 em*/",
215 "/*rule*/",
216 "/*1/4*/",
217 "/*1/2*/",
218 "/*3/4*/",
219 "/*minus*/",
220 "/*fi*/",
221 "/*fl*/",
222 "/*ff*/",
223 "/*ffi*/",
224 "/*ffl*/",
225 "/*degree*/",
226 "/*dagger*/",
227 "/*section*/",
228 "/*foot mark*/",
229 "/*'*/",
230 "/*`*/",
231 "/*_*/",
232 0,
233 "/*half nar sp*/",
234 0,
235 0,0,0,0,0,0,0,0,
236 0,0,0,0,0,0,0,0,
237 0,0,0,0,0,0,0,0,
238 0,0,0,0,0,0,0,0,
239 0,0,0,0,0,0,0,0,
240 0,0,0,0,0,0,0,0,
241 0,0,0,0,0,0,0,0,
242 0,0,0,0,0,0,0,0,
243 0,0,0,0,0,
244 "/*registered*/",
245 "/*copywrite*/",
246 0,
247 "/*cent*/",
248 };
249 int chtab [] = {
250 PAIR('-','-'), 0210,	/*font minus*/
251 PAIR('h','y'), 0200,	/*hyphen*/
252 PAIR('b','u'), 0201,	/*bullet*/
253 PAIR('s','q'), 0202,	/*square*/
254 PAIR('e','m'), 0203,	/*3/4em*/
255 PAIR('r','u'), 0204,	/*rule*/
256 PAIR('1','4'), 0205,	/*1/4*/
257 PAIR('1','2'), 0206,	/*1/2*/
258 PAIR('3','4'), 0207,	/*3/4*/
259 PAIR('m','i'), 0302,	/*equation minus*/
260 PAIR('f','i'), 0211,	/*fi*/
261 PAIR('f','l'), 0212,	/*fl*/
262 PAIR('f','f'), 0213,	/*ff*/
263 PAIR('F','i'), 0214,	/*ffi*/
264 PAIR('F','l'), 0215,	/*ffl*/
265 PAIR('d','e'), 0216,	/*degree*/
266 PAIR('d','g'), 0217,	/*dagger*/
267 PAIR('s','c'), 0220,	/*section*/
268 PAIR('f','m'), 0221,	/*foot mark*/
269 PAIR('a','a'), 0222,	/*acute accent*/
270 PAIR('g','a'), 0223,	/*grave accent*/
271 PAIR('u','l'), 0224,	/*underrule*/
272 PAIR('s','l'), 0225,	/*slash (longer)*/
273 PAIR('*','a'), 0230,	/*alpha*/
274 PAIR('*','b'), 0231,	/*beta*/
275 PAIR('*','g'), 0232,	/*gamma*/
276 PAIR('*','d'), 0233,	/*delta*/
277 PAIR('*','e'), 0234,	/*epsilon*/
278 PAIR('*','z'), 0235,	/*zeta*/
279 PAIR('*','y'), 0236,	/*eta*/
280 PAIR('*','h'), 0237,	/*theta*/
281 PAIR('*','i'), 0240,	/*iota*/
282 PAIR('*','k'), 0241,	/*kappa*/
283 PAIR('*','l'), 0242,	/*lambda*/
284 PAIR('*','m'), 0243,	/*mu*/
285 PAIR('*','n'), 0244,	/*nu*/
286 PAIR('*','c'), 0245,	/*xi*/
287 PAIR('*','o'), 0246,	/*omicron*/
288 PAIR('*','p'), 0247,	/*pi*/
289 PAIR('*','r'), 0250,	/*rho*/
290 PAIR('*','s'), 0251,	/*sigma*/
291 PAIR('*','t'), 0252,	/*tau*/
292 PAIR('*','u'), 0253,	/*upsilon*/
293 PAIR('*','f'), 0254,	/*phi*/
294 PAIR('*','x'), 0255,	/*chi*/
295 PAIR('*','q'), 0256,	/*psi*/
296 PAIR('*','w'), 0257,	/*omega*/
297 PAIR('*','A'), 0101,	/*Alpha*/
298 PAIR('*','B'), 0102,	/*Beta*/
299 PAIR('*','G'), 0260,	/*Gamma*/
300 PAIR('*','D'), 0261,	/*Delta*/
301 PAIR('*','E'), 0105,	/*Epsilon*/
302 PAIR('*','Z'), 0132,	/*Zeta*/
303 PAIR('*','Y'), 0110,	/*Eta*/
304 PAIR('*','H'), 0262,	/*Theta*/
305 PAIR('*','I'), 0111,	/*Iota*/
306 PAIR('*','K'), 0113,	/*Kappa*/
307 PAIR('*','L'), 0263,	/*Lambda*/
308 PAIR('*','M'), 0115,	/*Mu*/
309 PAIR('*','N'), 0116,	/*Nu*/
310 PAIR('*','C'), 0264,	/*Xi*/
311 PAIR('*','O'), 0117,	/*Omicron*/
312 PAIR('*','P'), 0265,	/*Pi*/
313 PAIR('*','R'), 0120,	/*Rho*/
314 PAIR('*','S'), 0266,	/*Sigma*/
315 PAIR('*','T'), 0124,	/*Tau*/
316 PAIR('*','U'), 0270,	/*Upsilon*/
317 PAIR('*','F'), 0271,	/*Phi*/
318 PAIR('*','X'), 0130,	/*Chi*/
319 PAIR('*','Q'), 0272,	/*Psi*/
320 PAIR('*','W'), 0273,	/*Omega*/
321 PAIR('s','r'), 0274,	/*square root*/
322 PAIR('t','s'), 0275,	/*terminal sigma*/
323 PAIR('r','n'), 0276,	/*root en*/
324 PAIR('>','='), 0277,	/*>=*/
325 PAIR('<','='), 0300,	/*<=*/
326 PAIR('=','='), 0301,	/*identically equal*/
327 PAIR('~','='), 0303,	/*approx =*/
328 PAIR('a','p'), 0304,	/*approximates*/
329 PAIR('!','='), 0305,	/*not equal*/
330 PAIR('-','>'), 0306,	/*right arrow*/
331 PAIR('<','-'), 0307,	/*left arrow*/
332 PAIR('u','a'), 0310,	/*up arrow*/
333 PAIR('d','a'), 0311,	/*down arrow*/
334 PAIR('e','q'), 0312,	/*equation equal*/
335 PAIR('m','u'), 0313,	/*multiply*/
336 PAIR('d','i'), 0314,	/*divide*/
337 PAIR('+','-'), 0315,	/*plus-minus*/
338 PAIR('c','u'), 0316,	/*cup (union)*/
339 PAIR('c','a'), 0317,	/*cap (intersection)*/
340 PAIR('s','b'), 0320,	/*subset of*/
341 PAIR('s','p'), 0321,	/*superset of*/
342 PAIR('i','b'), 0322,	/*improper subset*/
343 PAIR('i','p'), 0323,	/*  " superset*/
344 PAIR('i','f'), 0324,	/*infinity*/
345 PAIR('p','d'), 0325,	/*partial derivative*/
346 PAIR('g','r'), 0326,	/*gradient*/
347 PAIR('n','o'), 0327,	/*not*/
348 PAIR('i','s'), 0330,	/*integral sign*/
349 PAIR('p','t'), 0331,	/*proportional to*/
350 PAIR('e','s'), 0332,	/*empty set*/
351 PAIR('m','o'), 0333,	/*member of*/
352 PAIR('p','l'), 0334,	/*equation plus*/
353 PAIR('r','g'), 0335,	/*registered*/
354 PAIR('c','o'), 0336,	/*copyright*/
355 PAIR('b','r'), 0337,	/*box vert rule*/
356 PAIR('c','t'), 0340,	/*cent sign*/
357 PAIR('d','d'), 0341,	/*dbl dagger*/
358 PAIR('r','h'), 0342,	/*right hand*/
359 PAIR('l','h'), 0343,	/*left hand*/
360 PAIR('*','*'), 0344,	/*math * */
361 PAIR('b','s'), 0345,	/*bell system sign*/
362 PAIR('o','r'), 0346,	/*or*/
363 PAIR('c','i'), 0347,	/*circle*/
364 PAIR('l','t'), 0350,	/*left top (of big curly)*/
365 PAIR('l','b'), 0351,	/*left bottom*/
366 PAIR('r','t'), 0352,	/*right top*/
367 PAIR('r','b'), 0353,	/*right bot*/
368 PAIR('l','k'), 0354,	/*left center of big curly bracket*/
369 PAIR('r','k'), 0355,	/*right center of big curly bracket*/
370 PAIR('b','v'), 0356,	/*bold vertical*/
371 PAIR('l','f'), 0357,	/*left floor (left bot of big sq bract)*/
372 PAIR('r','f'), 0360,	/*right floor (rb of ")*/
373 PAIR('l','c'), 0361,	/*left ceiling (lt of ")*/
374 PAIR('r','c'), 0362,	/*right ceiling (rt of ")*/
375 0,0};
376