xref: /netbsd-src/external/gpl2/groff/dist/src/libs/libxutil/DviChar.c (revision 89a07cf815a29524268025a1139fac4c5190f765)
1 /*	$NetBSD: DviChar.c,v 1.1.1.1 2016/01/13 18:41:48 christos Exp $	*/
2 
3 /*
4  * DviChar.c
5  *
6  * Map DVI (ditroff output) character names to
7  * font indexes and back
8  */
9 
10 #include <stdlib.h>
11 #include <string.h>
12 #include "DviChar.h"
13 
14 extern char *xmalloc(int);
15 
16 #define allocHash() ((DviCharNameHash *) xmalloc (sizeof (DviCharNameHash)))
17 
18 struct map_list {
19 	struct map_list	*next;
20 	DviCharNameMap	*map;
21 };
22 
23 static struct map_list	*world;
24 
25 static int	standard_maps_loaded = 0;
26 static void	load_standard_maps (void);
27 static int	hash_name (const char *);
28 static void	dispose_hash(DviCharNameMap *);
29 static void	compute_hash(DviCharNameMap *);
30 
31 DviCharNameMap *
DviFindMap(char * encoding)32 DviFindMap (char *encoding)
33 {
34 	struct map_list	*m;
35 
36 	if (!standard_maps_loaded)
37 		load_standard_maps ();
38 	for (m = world; m; m=m->next)
39 		if (!strcmp (m->map->encoding, encoding))
40 			return m->map;
41 	return 0;
42 }
43 
44 void
DviRegisterMap(DviCharNameMap * map)45 DviRegisterMap (DviCharNameMap *map)
46 {
47 	struct map_list	*m;
48 
49 	if (!standard_maps_loaded)
50 		load_standard_maps ();
51 	for (m = world; m; m = m->next)
52 		if (!strcmp (m->map->encoding, map->encoding))
53 			break;
54 	if (!m) {
55 		m = (struct map_list *) xmalloc (sizeof *m);
56 		m->next = world;
57 		world = m;
58 	}
59 	dispose_hash (map);
60 	m->map = map;
61 	compute_hash (map);
62 }
63 
64 static void
dispose_hash(DviCharNameMap * map)65 dispose_hash (DviCharNameMap *map)
66 {
67 	DviCharNameHash	**buckets;
68 	DviCharNameHash	*h, *next;
69 	int		i;
70 
71 	buckets = map->buckets;
72 	for (i = 0; i < DVI_HASH_SIZE; i++) {
73 		for (h = buckets[i]; h; h=next) {
74 			next = h->next;
75 			free (h);
76 		}
77 	}
78 }
79 
80 static int
hash_name(const char * name)81 hash_name (const char *name)
82 {
83 	int	i = 0;
84 
85 	while (*name)
86 		i = (i << 1) ^ *name++;
87 	if (i < 0)
88 		i = -i;
89 	return i;
90 }
91 
92 static void
compute_hash(DviCharNameMap * map)93 compute_hash (DviCharNameMap *map)
94 {
95 	DviCharNameHash	**buckets;
96 	int		c, s, i;
97 	DviCharNameHash	*h;
98 
99 	buckets = map->buckets;
100 	for (i = 0; i < DVI_HASH_SIZE; i++)
101 		buckets[i] = 0;
102 	for (c = 0; c < DVI_MAP_SIZE; c++)
103 		for (s = 0; s < DVI_MAX_SYNONYMS; s++) {
104 			if (!map->dvi_names[c][s])
105 				break;
106 			i = hash_name (map->dvi_names[c][s]) % DVI_HASH_SIZE;
107 			h = allocHash ();
108 			h->next = buckets[i];
109 			buckets[i] = h;
110 			h->name = map->dvi_names[c][s];
111 			h->position = c;
112 		}
113 
114 }
115 
116 int
DviCharIndex(DviCharNameMap * map,const char * name)117 DviCharIndex (DviCharNameMap *map, const char *name)
118 {
119 	int		i;
120 	DviCharNameHash	*h;
121 
122 	i = hash_name (name) % DVI_HASH_SIZE;
123 	for (h = map->buckets[i]; h; h=h->next)
124 		if (!strcmp (h->name, name))
125 			return h->position;
126 	return -1;
127 }
128 
129 static DviCharNameMap ISO8859_1_map = {
130 	"iso8859-1",
131 	0,
132 {
133 {	0,			/* 0 */},
134 {	0,			/* 1 */},
135 {	0,			/* 2 */},
136 {	0,			/* 3 */},
137 {	0,			/* 4 */},
138 {	0,			/* 5 */},
139 {	0,			/* 6 */},
140 {	0,			/* 7 */},
141 {	0,			/* 8 */},
142 {	0,			/* 9 */},
143 {	0,			/* 10 */},
144 {	0,			/* 11 */},
145 {	0,			/* 12 */},
146 {	0,			/* 13 */},
147 {	0,			/* 14 */},
148 {	0,			/* 15 */},
149 {	0,			/* 16 */},
150 {	0,			/* 17 */},
151 {	0,			/* 18 */},
152 {	0,			/* 19 */},
153 {	0,			/* 20 */},
154 {	0,			/* 21 */},
155 {	0,			/* 22 */},
156 {	0,			/* 23 */},
157 {	0,			/* 24 */},
158 {	0,			/* 25 */},
159 {	0,			/* 26 */},
160 {	0,			/* 27 */},
161 {	0,			/* 28 */},
162 {	0,			/* 29 */},
163 {	0,			/* 30 */},
164 {	0,			/* 31 */},
165 {	0,			/* 32 */},
166 {	"!",			/* 33 */},
167 {	"\"", "dq",		/* 34 */},
168 {	"#", "sh",		/* 35 */},
169 {	"$", "Do",		/* 36 */},
170 {	"%",			/* 37 */},
171 {	"&",			/* 38 */},
172 {	"'", "cq",		/* 39 */},
173 {	"(",			/* 40 */},
174 {	")",			/* 41 */},
175 {	"*",			/* 42 */},
176 {	"+",			/* 43 */},
177 {	",",			/* 44 */},
178 {	"\\-",			/* 45 */},
179 {	".",			/* 46 */},
180 {	"/", "sl",		/* 47 */},
181 {	"0",			/* 48 */},
182 {	"1",			/* 49 */},
183 {	"2",			/* 50 */},
184 {	"3",			/* 51 */},
185 {	"4",			/* 52 */},
186 {	"5",			/* 53 */},
187 {	"6",			/* 54 */},
188 {	"7",			/* 55 */},
189 {	"8",			/* 56 */},
190 {	"9",			/* 57 */},
191 {	":",			/* 58 */},
192 {	";",			/* 59 */},
193 {	"<",			/* 60 */},
194 {	"=",			/* 61 */},
195 {	">",			/* 62 */},
196 {	"?",			/* 63 */},
197 {	"@", "at",		/* 64 */},
198 {	"A",			/* 65 */},
199 {	"B",			/* 66 */},
200 {	"C",			/* 67 */},
201 {	"D",			/* 68 */},
202 {	"E",			/* 69 */},
203 {	"F",			/* 70 */},
204 {	"G",			/* 71 */},
205 {	"H",			/* 72 */},
206 {	"I",			/* 73 */},
207 {	"J",			/* 74 */},
208 {	"K",			/* 75 */},
209 {	"L",			/* 76 */},
210 {	"M",			/* 77 */},
211 {	"N",			/* 78 */},
212 {	"O",			/* 79 */},
213 {	"P",			/* 80 */},
214 {	"Q",			/* 81 */},
215 {	"R",			/* 82 */},
216 {	"S",			/* 83 */},
217 {	"T",			/* 84 */},
218 {	"U",			/* 85 */},
219 {	"V",			/* 86 */},
220 {	"W",			/* 87 */},
221 {	"X",			/* 88 */},
222 {	"Y",			/* 89 */},
223 {	"Z",			/* 90 */},
224 {	"[", "lB",		/* 91 */},
225 {	"\\", "rs",		/* 92 */},
226 {	"]", "rB",		/* 93 */},
227 {	"^", "a^", "ha",	/* 94 */},
228 {	"_",			/* 95 */},
229 {	"`", "oq",		/* 96 */},
230 {	"a",			/* 97 */},
231 {	"b",			/* 98 */},
232 {	"c",			/* 99 */},
233 {	"d",			/* 100 */},
234 {	"e",			/* 101 */},
235 {	"f",			/* 102 */},
236 {	"g",			/* 103 */},
237 {	"h",			/* 104 */},
238 {	"i",			/* 105 */},
239 {	"j",			/* 106 */},
240 {	"k",			/* 107 */},
241 {	"l",			/* 108 */},
242 {	"m",			/* 109 */},
243 {	"n",			/* 110 */},
244 {	"o",			/* 111 */},
245 {	"p",			/* 112 */},
246 {	"q",			/* 113 */},
247 {	"r",			/* 114 */},
248 {	"s",			/* 115 */},
249 {	"t",			/* 116 */},
250 {	"u",			/* 117 */},
251 {	"v",			/* 118 */},
252 {	"w",			/* 119 */},
253 {	"x",			/* 120 */},
254 {	"y",			/* 121 */},
255 {	"z",			/* 122 */},
256 {	"{", "lC",		/* 123 */},
257 {	"|", "ba",		/* 124 */},
258 {	"}", "rC",		/* 125 */},
259 {	"~", "a~", "ti",	/* 126 */},
260 {	0,			/* 127 */},
261 {	0,			/* 128 */},
262 {	0,			/* 129 */},
263 {	0,			/* 130 */},
264 {	0,			/* 131 */},
265 {	0,			/* 132 */},
266 {	0,			/* 133 */},
267 {	0,			/* 134 */},
268 {	0,			/* 135 */},
269 {	0,			/* 136 */},
270 {	0,			/* 137 */},
271 {	0,			/* 138 */},
272 {	0,			/* 139 */},
273 {	0,			/* 140 */},
274 {	0,			/* 141 */},
275 {	0,			/* 142 */},
276 {	0,			/* 143 */},
277 {	0,			/* 144 */},
278 {	0,			/* 145 */},
279 {	0,			/* 146 */},
280 {	0,			/* 147 */},
281 {	0,			/* 148 */},
282 {	0,			/* 149 */},
283 {	0,			/* 150 */},
284 {	0,			/* 151 */},
285 {	0,			/* 152 */},
286 {	0,			/* 153 */},
287 {	0,			/* 154 */},
288 {	0,			/* 155 */},
289 {	0,			/* 156 */},
290 {	0,			/* 157 */},
291 {	0,			/* 158 */},
292 {	0,			/* 159 */},
293 {	0,			/* 160 */},
294 {	"r!",			/* 161 */},
295 {	"ct",			/* 162 */},
296 {	"Po",			/* 163 */},
297 {	"Cs",			/* 164 */},
298 {	"Ye",			/* 165 */},
299 {	"bb",			/* 166 */},
300 {	"sc",			/* 167 */},
301 {	"ad",			/* 168 */},
302 {	"co",			/* 169 */},
303 {	"Of",			/* 170 */},
304 {	"Fo",			/* 171 */},
305 {	"tno",			/* 172 */},
306 {	"-", "hy",		/* 173 */},
307 {	"rg",			/* 174 */},
308 {	"a-",			/* 175 */},
309 {	"de",			/* 176 */},
310 {	"t+-",			/* 177 */},
311 {	"S2",			/* 178 */},
312 {	"S3",			/* 179 */},
313 {	"aa",			/* 180 */},
314 {	"mc",			/* 181 */},
315 {	"ps",			/* 182 */},
316 {	"pc",			/* 183 */},
317 {	"ac",			/* 184 */},
318 {	"S1",			/* 185 */},
319 {	"Om",			/* 186 */},
320 {	"Fc",			/* 187 */},
321 {	"14",			/* 188 */},
322 {	"12",			/* 189 */},
323 {	"34",			/* 190 */},
324 {	"r?",			/* 191 */},
325 {	"`A",			/* 192 */},
326 {	"'A",			/* 193 */},
327 {	"^A",			/* 194 */},
328 {	"~A",			/* 195 */},
329 {	":A",			/* 196 */},
330 {	"oA",			/* 197 */},
331 {	"AE",			/* 198 */},
332 {	",C",			/* 199 */},
333 {	"`E",			/* 200 */},
334 {	"'E",			/* 201 */},
335 {	"^E",			/* 202 */},
336 {	":E",			/* 203 */},
337 {	"`I",			/* 204 */},
338 {	"'I",			/* 205 */},
339 {	"^I",			/* 206 */},
340 {	":I",			/* 207 */},
341 {	"-D",			/* 208 */},
342 {	"~N",			/* 209 */},
343 {	"`O",			/* 210 */},
344 {	"'O",			/* 211 */},
345 {	"^O",			/* 212 */},
346 {	"~O",			/* 213 */},
347 {	":O",			/* 214 */},
348 {	"tmu",			/* 215 */},
349 {	"/O",			/* 216 */},
350 {	"`U",			/* 217 */},
351 {	"'U",			/* 218 */},
352 {	"^U",			/* 219 */},
353 {	":U",			/* 220 */},
354 {	"'Y",			/* 221 */},
355 {	"TP",			/* 222 */},
356 {	"ss",			/* 223 */},
357 {	"`a",			/* 224 */},
358 {	"'a",			/* 225 */},
359 {	"^a",			/* 226 */},
360 {	"~a",			/* 227 */},
361 {	":a",			/* 228 */},
362 {	"oa",			/* 229 */},
363 {	"ae",			/* 230 */},
364 {	",c",			/* 231 */},
365 {	"`e",			/* 232 */},
366 {	"'e",			/* 233 */},
367 {	"^e",			/* 234 */},
368 {	":e",			/* 235 */},
369 {	"`i",			/* 236 */},
370 {	"'i",			/* 237 */},
371 {	"^i",			/* 238 */},
372 {	":i",			/* 239 */},
373 {	"Sd",			/* 240 */},
374 {	"~n",			/* 241 */},
375 {	"`o",			/* 242 */},
376 {	"'o",			/* 243 */},
377 {	"^o",			/* 244 */},
378 {	"~o",			/* 245 */},
379 {	":o",			/* 246 */},
380 {	"tdi",			/* 247 */},
381 {	"/o",			/* 248 */},
382 {	"`u",			/* 249 */},
383 {	"'u",			/* 250 */},
384 {	"^u",			/* 251 */},
385 {	":u",			/* 252 */},
386 {	"'y",			/* 253 */},
387 {	"Tp",			/* 254 */},
388 {	":y",			/* 255 */},
389 }};
390 
391 static DviCharNameMap Adobe_Symbol_map = {
392 	"adobe-fontspecific",
393 	1,
394 {
395 {	0,						/* 0 */},
396 {	0,						/* 1 */},
397 {	0,						/* 2 */},
398 {	0,						/* 3 */},
399 {	0,						/* 4 */},
400 {	0,						/* 5 */},
401 {	0,						/* 6 */},
402 {	0,						/* 7 */},
403 {	0,						/* 8 */},
404 {	0,						/* 9 */},
405 {	0,						/* 10 */},
406 {	0,						/* 11 */},
407 {	0,						/* 12 */},
408 {	0,						/* 13 */},
409 {	0,						/* 14 */},
410 {	0,						/* 15 */},
411 {	0,						/* 16 */},
412 {	0,						/* 17 */},
413 {	0,						/* 18 */},
414 {	0,						/* 19 */},
415 {	0,						/* 20 */},
416 {	0,						/* 21 */},
417 {	0,						/* 22 */},
418 {	0,						/* 23 */},
419 {	0,						/* 24 */},
420 {	0,						/* 25 */},
421 {	0,						/* 26 */},
422 {	0,						/* 27 */},
423 {	0,						/* 28 */},
424 {	0,						/* 29 */},
425 {	0,						/* 30 */},
426 {	0,						/* 31 */},
427 {	0,						/* 32 */},
428 {	"!",						/* 33 */},
429 {	"fa",						/* 34 */},
430 {	"#", "sh",					/* 35 */},
431 {	"te",						/* 36 */},
432 {	"%",						/* 37 */},
433 {	"&",						/* 38 */},
434 {	"st",						/* 39 */},
435 {	"(",						/* 40 */},
436 {	")",						/* 41 */},
437 {	"**",						/* 42 */},
438 {	"+", "pl",					/* 43 */},
439 {	",",						/* 44 */},
440 {	"\\-", "mi",					/* 45 */},
441 {	".",						/* 46 */},
442 {	"/", "sl",					/* 47 */},
443 {	"0",						/* 48 */},
444 {	"1",						/* 49 */},
445 {	"2",						/* 50 */},
446 {	"3",						/* 51 */},
447 {	"4",						/* 52 */},
448 {	"5",						/* 53 */},
449 {	"6",						/* 54 */},
450 {	"7",						/* 55 */},
451 {	"8",						/* 56 */},
452 {	"9",						/* 57 */},
453 {	":",						/* 58 */},
454 {	";",						/* 59 */},
455 {	"<",						/* 60 */},
456 {	"=", "eq",					/* 61 */},
457 {	">",						/* 62 */},
458 {	"?",						/* 63 */},
459 {	"=~",						/* 64 */},
460 {	"*A",						/* 65 */},
461 {	"*B",						/* 66 */},
462 {	"*X",						/* 67 */},
463 {	"*D",						/* 68 */},
464 {	"*E",						/* 69 */},
465 {	"*F",						/* 70 */},
466 {	"*G",						/* 71 */},
467 {	"*Y",						/* 72 */},
468 {	"*I",						/* 73 */},
469 {	"+h",						/* 74 */},
470 {	"*K",						/* 75 */},
471 {	"*L",						/* 76 */},
472 {	"*M",						/* 77 */},
473 {	"*N",						/* 78 */},
474 {	"*O",						/* 79 */},
475 {	"*P",						/* 80 */},
476 {	"*H",						/* 81 */},
477 {	"*R",						/* 82 */},
478 {	"*S",						/* 83 */},
479 {	"*T",						/* 84 */},
480 {	0,						/* 85 */},
481 {	"ts",						/* 86 */},
482 {	"*W",						/* 87 */},
483 {	"*C",						/* 88 */},
484 {	"*Q",						/* 89 */},
485 {	"*Z",						/* 90 */},
486 {	"[", "lB",					/* 91 */},
487 {	"tf", "3d",					/* 92 */},
488 {	"]", "rB",					/* 93 */},
489 {	"pp",						/* 94 */},
490 {	"_",						/* 95 */},
491 {	"radicalex",					/* 96 */},
492 {	"*a",						/* 97 */},
493 {	"*b",						/* 98 */},
494 {	"*x",						/* 99 */},
495 {	"*d",						/* 100 */},
496 {	"*e",						/* 101 */},
497 {	"*f",						/* 102 */},
498 {	"*g",						/* 103 */},
499 {	"*y",						/* 104 */},
500 {	"*i",						/* 105 */},
501 {	"+f",						/* 106 */},
502 {	"*k",						/* 107 */},
503 {	"*l",						/* 108 */},
504 {	"*m",						/* 109 */},
505 {	"*n",						/* 110 */},
506 {	"*o",						/* 111 */},
507 {	"*p",						/* 112 */},
508 {	"*h",						/* 113 */},
509 {	"*r",						/* 114 */},
510 {	"*s",						/* 115 */},
511 {	"*t",						/* 116 */},
512 {	"*u",						/* 117 */},
513 {	"+p",						/* 118 */},
514 {	"*w",						/* 119 */},
515 {	"*c",						/* 120 */},
516 {	"*q",						/* 121 */},
517 {	"*z",						/* 122 */},
518 {	"lC", "{",					/* 123 */},
519 {	"ba", "|",					/* 124 */},
520 {	"rC", "}",					/* 125 */},
521 {	"ap",						/* 126 */},
522 {	0,						/* 127 */},
523 {	0,						/* 128 */},
524 {	0,						/* 129 */},
525 {	0,						/* 130 */},
526 {	0,						/* 131 */},
527 {	0,						/* 132 */},
528 {	0,						/* 133 */},
529 {	0,						/* 134 */},
530 {	0,						/* 135 */},
531 {	0,						/* 136 */},
532 {	0,						/* 137 */},
533 {	0,						/* 138 */},
534 {	0,						/* 139 */},
535 {	0,						/* 140 */},
536 {	0,						/* 141 */},
537 {	0,						/* 142 */},
538 {	0,						/* 143 */},
539 {	0,						/* 144 */},
540 {	0,						/* 145 */},
541 {	0,						/* 146 */},
542 {	0,						/* 147 */},
543 {	0,						/* 148 */},
544 {	0,						/* 149 */},
545 {	0,						/* 150 */},
546 {	0,						/* 151 */},
547 {	0,						/* 152 */},
548 {	0,						/* 153 */},
549 {	0,						/* 154 */},
550 {	0,						/* 155 */},
551 {	0,						/* 156 */},
552 {	0,						/* 157 */},
553 {	0,						/* 158 */},
554 {	0,						/* 159 */},
555 {	0,						/* 160 */},
556 {	"*U",						/* 161 */},
557 {	"fm",						/* 162 */},
558 {	"<=",						/* 163 */},
559 {	"f/",						/* 164 */},
560 {	"if",						/* 165 */},
561 {	"Fn",						/* 166 */},
562 {	"CL",						/* 167 */},
563 {	"DI",						/* 168 */},
564 {	"HE",						/* 169 */},
565 {	"SP",						/* 170 */},
566 {	"<>",						/* 171 */},
567 {	"<-",						/* 172 */},
568 {	"ua", "arrowverttp",				/* 173 */},
569 {	"->",						/* 174 */},
570 {	"da", "arrowvertbt",				/* 175 */},
571 {	"de",						/* 176 */},
572 {	"+-",						/* 177 */},
573 {	"sd",						/* 178 */},
574 {	">=",						/* 179 */},
575 {	"mu",						/* 180 */},
576 {	"pt",						/* 181 */},
577 {	"pd",						/* 182 */},
578 {	"bu",						/* 183 */},
579 {	"di",						/* 184 */},
580 {	"!=",						/* 185 */},
581 {	"==",						/* 186 */},
582 {	"~=", "~~",					/* 187 */},
583 {	0,						/* 188 */},
584 {	"arrowvertex",					/* 189 */},
585 {	"an",						/* 190 */},
586 {	"CR",						/* 191 */},
587 {	"Ah",						/* 192 */},
588 {	"Im",						/* 193 */},
589 {	"Re",						/* 194 */},
590 {	"wp",						/* 195 */},
591 {	"c*",						/* 196 */},
592 {	"c+",						/* 197 */},
593 {	"es",						/* 198 */},
594 {	"ca",						/* 199 */},
595 {	"cu",						/* 200 */},
596 {	"sp",						/* 201 */},
597 {	"ip",						/* 202 */},
598 {	"nb",						/* 203 */},
599 {	"sb",						/* 204 */},
600 {	"ib",						/* 205 */},
601 {	"mo",						/* 206 */},
602 {	"nm",						/* 207 */},
603 {	"/_",						/* 208 */},
604 {	"gr",						/* 209 */},
605 {	"rg",						/* 210 */},
606 {	"co",						/* 211 */},
607 {	"tm",						/* 212 */},
608 {	0,						/* 213 */},
609 {	"sr", "sqrt",					/* 214 */},
610 {	"md",						/* 215 */},
611 {	"no",						/* 216 */},
612 {	"AN",						/* 217 */},
613 {	"OR",						/* 218 */},
614 {	"hA",						/* 219 */},
615 {	"lA",						/* 220 */},
616 {	"uA",						/* 221 */},
617 {	"rA",						/* 222 */},
618 {	"dA",						/* 223 */},
619 {	"lz",						/* 224 */},
620 {	"la",						/* 225 */},
621 {	0,						/* 226 */},
622 {	0,						/* 227 */},
623 {	0,						/* 228 */},
624 {	0,						/* 229 */},
625 {	"parenlefttp",					/* 230 */},
626 {	"parenleftex",					/* 231 */},
627 {	"parenleftbt",					/* 232 */},
628 {	"bracketlefttp", "lc",				/* 233 */},
629 {	"bracketleftex",				/* 234 */},
630 {	"bracketleftbt", "lf",				/* 235 */},
631 {	"bracelefttp", "lt",				/* 236 */},
632 {	"braceleftmid", "lk",				/* 237 */},
633 {	"braceleftbt", "lb",				/* 238 */},
634 {	"bracerightex", "braceleftex", "braceex", "bv",	/* 239 */},
635 {	0,						/* 240 */},
636 {	"ra",						/* 241 */},
637 {	"is", "integral",				/* 242 */},
638 {	0,						/* 243 */},
639 {	0,						/* 244 */},
640 {	0,						/* 245 */},
641 {	"parenrighttp",					/* 246 */},
642 {	"parenrightex",					/* 247 */},
643 {	"parenrightbt",					/* 248 */},
644 {	"bracketrighttp", "rc",				/* 249 */},
645 {	"bracketrightex",				/* 250 */},
646 {	"bracketrightbt", "rf",				/* 251 */},
647 {	"bracerighttp", "rt",				/* 252 */},
648 {	"bracerightmid", "rk",				/* 253 */},
649 {	"bracerightbt", "rb",				/* 254 */},
650 {	0,						/* 255 */},
651 }};
652 
653 
654 static void
load_standard_maps(void)655 load_standard_maps (void)
656 {
657 	standard_maps_loaded = 1;
658 	DviRegisterMap (&ISO8859_1_map);
659 	DviRegisterMap (&Adobe_Symbol_map);
660 }
661