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