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