Home | History | Annotate | Line # | Download | only in libxutil
      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 *
     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
     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
     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
     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
     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
    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
    655 load_standard_maps (void)
    656 {
    657 	standard_maps_loaded = 1;
    658 	DviRegisterMap (&ISO8859_1_map);
    659 	DviRegisterMap (&Adobe_Symbol_map);
    660 }
    661