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