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