1151497Sru/* 2151497Sru * DviChar.c 3151497Sru * 4151497Sru * Map DVI (ditroff output) character names to 5151497Sru * font indexes and back 6151497Sru */ 7151497Sru 8151497Sru#include <stdlib.h> 9151497Sru#include <string.h> 10151497Sru#include "DviChar.h" 11151497Sru 12151497Sruextern char *xmalloc(int); 13151497Sru 14151497Sru#define allocHash() ((DviCharNameHash *) xmalloc (sizeof (DviCharNameHash))) 15151497Sru 16151497Srustruct map_list { 17151497Sru struct map_list *next; 18151497Sru DviCharNameMap *map; 19151497Sru}; 20151497Sru 21151497Srustatic struct map_list *world; 22151497Sru 23151497Srustatic int standard_maps_loaded = 0; 24151497Srustatic void load_standard_maps (void); 25151497Srustatic int hash_name (const char *); 26151497Srustatic void dispose_hash(DviCharNameMap *); 27151497Srustatic void compute_hash(DviCharNameMap *); 28151497Sru 29151497SruDviCharNameMap * 30151497SruDviFindMap (char *encoding) 31151497Sru{ 32151497Sru struct map_list *m; 33151497Sru 34151497Sru if (!standard_maps_loaded) 35151497Sru load_standard_maps (); 36151497Sru for (m = world; m; m=m->next) 37151497Sru if (!strcmp (m->map->encoding, encoding)) 38151497Sru return m->map; 39151497Sru return 0; 40151497Sru} 41151497Sru 42151497Sruvoid 43151497SruDviRegisterMap (DviCharNameMap *map) 44151497Sru{ 45151497Sru struct map_list *m; 46151497Sru 47151497Sru if (!standard_maps_loaded) 48151497Sru load_standard_maps (); 49151497Sru for (m = world; m; m = m->next) 50151497Sru if (!strcmp (m->map->encoding, map->encoding)) 51151497Sru break; 52151497Sru if (!m) { 53151497Sru m = (struct map_list *) xmalloc (sizeof *m); 54151497Sru m->next = world; 55151497Sru world = m; 56151497Sru } 57151497Sru dispose_hash (map); 58151497Sru m->map = map; 59151497Sru compute_hash (map); 60151497Sru} 61151497Sru 62151497Srustatic void 63151497Srudispose_hash (DviCharNameMap *map) 64151497Sru{ 65151497Sru DviCharNameHash **buckets; 66151497Sru DviCharNameHash *h, *next; 67151497Sru int i; 68151497Sru 69151497Sru buckets = map->buckets; 70151497Sru for (i = 0; i < DVI_HASH_SIZE; i++) { 71151497Sru for (h = buckets[i]; h; h=next) { 72151497Sru next = h->next; 73151497Sru free (h); 74151497Sru } 75151497Sru } 76151497Sru} 77151497Sru 78151497Srustatic int 79151497Sruhash_name (const char *name) 80151497Sru{ 81151497Sru int i = 0; 82151497Sru 83151497Sru while (*name) 84151497Sru i = (i << 1) ^ *name++; 85151497Sru if (i < 0) 86151497Sru i = -i; 87151497Sru return i; 88151497Sru} 89151497Sru 90151497Srustatic void 91151497Srucompute_hash (DviCharNameMap *map) 92151497Sru{ 93151497Sru DviCharNameHash **buckets; 94151497Sru int c, s, i; 95151497Sru DviCharNameHash *h; 96151497Sru 97151497Sru buckets = map->buckets; 98151497Sru for (i = 0; i < DVI_HASH_SIZE; i++) 99151497Sru buckets[i] = 0; 100151497Sru for (c = 0; c < DVI_MAP_SIZE; c++) 101151497Sru for (s = 0; s < DVI_MAX_SYNONYMS; s++) { 102151497Sru if (!map->dvi_names[c][s]) 103151497Sru break; 104151497Sru i = hash_name (map->dvi_names[c][s]) % DVI_HASH_SIZE; 105151497Sru h = allocHash (); 106151497Sru h->next = buckets[i]; 107151497Sru buckets[i] = h; 108151497Sru h->name = map->dvi_names[c][s]; 109151497Sru h->position = c; 110151497Sru } 111151497Sru 112151497Sru} 113151497Sru 114151497Sruint 115151497SruDviCharIndex (DviCharNameMap *map, const char *name) 116151497Sru{ 117151497Sru int i; 118151497Sru DviCharNameHash *h; 119151497Sru 120151497Sru i = hash_name (name) % DVI_HASH_SIZE; 121151497Sru for (h = map->buckets[i]; h; h=h->next) 122151497Sru if (!strcmp (h->name, name)) 123151497Sru return h->position; 124151497Sru return -1; 125151497Sru} 126151497Sru 127151497Srustatic DviCharNameMap ISO8859_1_map = { 128151497Sru "iso8859-1", 129151497Sru 0, 130151497Sru{ 131151497Sru{ 0, /* 0 */}, 132151497Sru{ 0, /* 1 */}, 133151497Sru{ 0, /* 2 */}, 134151497Sru{ 0, /* 3 */}, 135151497Sru{ 0, /* 4 */}, 136151497Sru{ 0, /* 5 */}, 137151497Sru{ 0, /* 6 */}, 138151497Sru{ 0, /* 7 */}, 139151497Sru{ 0, /* 8 */}, 140151497Sru{ 0, /* 9 */}, 141151497Sru{ 0, /* 10 */}, 142151497Sru{ 0, /* 11 */}, 143151497Sru{ 0, /* 12 */}, 144151497Sru{ 0, /* 13 */}, 145151497Sru{ 0, /* 14 */}, 146151497Sru{ 0, /* 15 */}, 147151497Sru{ 0, /* 16 */}, 148151497Sru{ 0, /* 17 */}, 149151497Sru{ 0, /* 18 */}, 150151497Sru{ 0, /* 19 */}, 151151497Sru{ 0, /* 20 */}, 152151497Sru{ 0, /* 21 */}, 153151497Sru{ 0, /* 22 */}, 154151497Sru{ 0, /* 23 */}, 155151497Sru{ 0, /* 24 */}, 156151497Sru{ 0, /* 25 */}, 157151497Sru{ 0, /* 26 */}, 158151497Sru{ 0, /* 27 */}, 159151497Sru{ 0, /* 28 */}, 160151497Sru{ 0, /* 29 */}, 161151497Sru{ 0, /* 30 */}, 162151497Sru{ 0, /* 31 */}, 163151497Sru{ 0, /* 32 */}, 164151497Sru{ "!", /* 33 */}, 165151497Sru{ "\"", "dq", /* 34 */}, 166151497Sru{ "#", "sh", /* 35 */}, 167151497Sru{ "$", "Do", /* 36 */}, 168151497Sru{ "%", /* 37 */}, 169151497Sru{ "&", /* 38 */}, 170151497Sru{ "'", "cq", /* 39 */}, 171151497Sru{ "(", /* 40 */}, 172151497Sru{ ")", /* 41 */}, 173151497Sru{ "*", /* 42 */}, 174151497Sru{ "+", /* 43 */}, 175151497Sru{ ",", /* 44 */}, 176151497Sru{ "\\-", /* 45 */}, 177151497Sru{ ".", /* 46 */}, 178151497Sru{ "/", "sl", /* 47 */}, 179151497Sru{ "0", /* 48 */}, 180151497Sru{ "1", /* 49 */}, 181151497Sru{ "2", /* 50 */}, 182151497Sru{ "3", /* 51 */}, 183151497Sru{ "4", /* 52 */}, 184151497Sru{ "5", /* 53 */}, 185151497Sru{ "6", /* 54 */}, 186151497Sru{ "7", /* 55 */}, 187151497Sru{ "8", /* 56 */}, 188151497Sru{ "9", /* 57 */}, 189151497Sru{ ":", /* 58 */}, 190151497Sru{ ";", /* 59 */}, 191151497Sru{ "<", /* 60 */}, 192151497Sru{ "=", /* 61 */}, 193151497Sru{ ">", /* 62 */}, 194151497Sru{ "?", /* 63 */}, 195151497Sru{ "@", "at", /* 64 */}, 196151497Sru{ "A", /* 65 */}, 197151497Sru{ "B", /* 66 */}, 198151497Sru{ "C", /* 67 */}, 199151497Sru{ "D", /* 68 */}, 200151497Sru{ "E", /* 69 */}, 201151497Sru{ "F", /* 70 */}, 202151497Sru{ "G", /* 71 */}, 203151497Sru{ "H", /* 72 */}, 204151497Sru{ "I", /* 73 */}, 205151497Sru{ "J", /* 74 */}, 206151497Sru{ "K", /* 75 */}, 207151497Sru{ "L", /* 76 */}, 208151497Sru{ "M", /* 77 */}, 209151497Sru{ "N", /* 78 */}, 210151497Sru{ "O", /* 79 */}, 211151497Sru{ "P", /* 80 */}, 212151497Sru{ "Q", /* 81 */}, 213151497Sru{ "R", /* 82 */}, 214151497Sru{ "S", /* 83 */}, 215151497Sru{ "T", /* 84 */}, 216151497Sru{ "U", /* 85 */}, 217151497Sru{ "V", /* 86 */}, 218151497Sru{ "W", /* 87 */}, 219151497Sru{ "X", /* 88 */}, 220151497Sru{ "Y", /* 89 */}, 221151497Sru{ "Z", /* 90 */}, 222151497Sru{ "[", "lB", /* 91 */}, 223151497Sru{ "\\", "rs", /* 92 */}, 224151497Sru{ "]", "rB", /* 93 */}, 225151497Sru{ "^", "a^", "ha", /* 94 */}, 226151497Sru{ "_", /* 95 */}, 227151497Sru{ "`", "oq", /* 96 */}, 228151497Sru{ "a", /* 97 */}, 229151497Sru{ "b", /* 98 */}, 230151497Sru{ "c", /* 99 */}, 231151497Sru{ "d", /* 100 */}, 232151497Sru{ "e", /* 101 */}, 233151497Sru{ "f", /* 102 */}, 234151497Sru{ "g", /* 103 */}, 235151497Sru{ "h", /* 104 */}, 236151497Sru{ "i", /* 105 */}, 237151497Sru{ "j", /* 106 */}, 238151497Sru{ "k", /* 107 */}, 239151497Sru{ "l", /* 108 */}, 240151497Sru{ "m", /* 109 */}, 241151497Sru{ "n", /* 110 */}, 242151497Sru{ "o", /* 111 */}, 243151497Sru{ "p", /* 112 */}, 244151497Sru{ "q", /* 113 */}, 245151497Sru{ "r", /* 114 */}, 246151497Sru{ "s", /* 115 */}, 247151497Sru{ "t", /* 116 */}, 248151497Sru{ "u", /* 117 */}, 249151497Sru{ "v", /* 118 */}, 250151497Sru{ "w", /* 119 */}, 251151497Sru{ "x", /* 120 */}, 252151497Sru{ "y", /* 121 */}, 253151497Sru{ "z", /* 122 */}, 254151497Sru{ "{", "lC", /* 123 */}, 255151497Sru{ "|", "ba", /* 124 */}, 256151497Sru{ "}", "rC", /* 125 */}, 257151497Sru{ "~", "a~", "ti", /* 126 */}, 258151497Sru{ 0, /* 127 */}, 259151497Sru{ 0, /* 128 */}, 260151497Sru{ 0, /* 129 */}, 261151497Sru{ 0, /* 130 */}, 262151497Sru{ 0, /* 131 */}, 263151497Sru{ 0, /* 132 */}, 264151497Sru{ 0, /* 133 */}, 265151497Sru{ 0, /* 134 */}, 266151497Sru{ 0, /* 135 */}, 267151497Sru{ 0, /* 136 */}, 268151497Sru{ 0, /* 137 */}, 269151497Sru{ 0, /* 138 */}, 270151497Sru{ 0, /* 139 */}, 271151497Sru{ 0, /* 140 */}, 272151497Sru{ 0, /* 141 */}, 273151497Sru{ 0, /* 142 */}, 274151497Sru{ 0, /* 143 */}, 275151497Sru{ 0, /* 144 */}, 276151497Sru{ 0, /* 145 */}, 277151497Sru{ 0, /* 146 */}, 278151497Sru{ 0, /* 147 */}, 279151497Sru{ 0, /* 148 */}, 280151497Sru{ 0, /* 149 */}, 281151497Sru{ 0, /* 150 */}, 282151497Sru{ 0, /* 151 */}, 283151497Sru{ 0, /* 152 */}, 284151497Sru{ 0, /* 153 */}, 285151497Sru{ 0, /* 154 */}, 286151497Sru{ 0, /* 155 */}, 287151497Sru{ 0, /* 156 */}, 288151497Sru{ 0, /* 157 */}, 289151497Sru{ 0, /* 158 */}, 290151497Sru{ 0, /* 159 */}, 291151497Sru{ 0, /* 160 */}, 292151497Sru{ "r!", /* 161 */}, 293151497Sru{ "ct", /* 162 */}, 294151497Sru{ "Po", /* 163 */}, 295151497Sru{ "Cs", /* 164 */}, 296151497Sru{ "Ye", /* 165 */}, 297151497Sru{ "bb", /* 166 */}, 298151497Sru{ "sc", /* 167 */}, 299151497Sru{ "ad", /* 168 */}, 300151497Sru{ "co", /* 169 */}, 301151497Sru{ "Of", /* 170 */}, 302151497Sru{ "Fo", /* 171 */}, 303151497Sru{ "tno", /* 172 */}, 304151497Sru{ "-", "hy", /* 173 */}, 305151497Sru{ "rg", /* 174 */}, 306151497Sru{ "a-", /* 175 */}, 307151497Sru{ "de", /* 176 */}, 308151497Sru{ "t+-", /* 177 */}, 309151497Sru{ "S2", /* 178 */}, 310151497Sru{ "S3", /* 179 */}, 311151497Sru{ "aa", /* 180 */}, 312151497Sru{ "mc", /* 181 */}, 313151497Sru{ "ps", /* 182 */}, 314151497Sru{ "pc", /* 183 */}, 315151497Sru{ "ac", /* 184 */}, 316151497Sru{ "S1", /* 185 */}, 317151497Sru{ "Om", /* 186 */}, 318151497Sru{ "Fc", /* 187 */}, 319151497Sru{ "14", /* 188 */}, 320151497Sru{ "12", /* 189 */}, 321151497Sru{ "34", /* 190 */}, 322151497Sru{ "r?", /* 191 */}, 323151497Sru{ "`A", /* 192 */}, 324151497Sru{ "'A", /* 193 */}, 325151497Sru{ "^A", /* 194 */}, 326151497Sru{ "~A", /* 195 */}, 327151497Sru{ ":A", /* 196 */}, 328151497Sru{ "oA", /* 197 */}, 329151497Sru{ "AE", /* 198 */}, 330151497Sru{ ",C", /* 199 */}, 331151497Sru{ "`E", /* 200 */}, 332151497Sru{ "'E", /* 201 */}, 333151497Sru{ "^E", /* 202 */}, 334151497Sru{ ":E", /* 203 */}, 335151497Sru{ "`I", /* 204 */}, 336151497Sru{ "'I", /* 205 */}, 337151497Sru{ "^I", /* 206 */}, 338151497Sru{ ":I", /* 207 */}, 339151497Sru{ "-D", /* 208 */}, 340151497Sru{ "~N", /* 209 */}, 341151497Sru{ "`O", /* 210 */}, 342151497Sru{ "'O", /* 211 */}, 343151497Sru{ "^O", /* 212 */}, 344151497Sru{ "~O", /* 213 */}, 345151497Sru{ ":O", /* 214 */}, 346151497Sru{ "tmu", /* 215 */}, 347151497Sru{ "/O", /* 216 */}, 348151497Sru{ "`U", /* 217 */}, 349151497Sru{ "'U", /* 218 */}, 350151497Sru{ "^U", /* 219 */}, 351151497Sru{ ":U", /* 220 */}, 352151497Sru{ "'Y", /* 221 */}, 353151497Sru{ "TP", /* 222 */}, 354151497Sru{ "ss", /* 223 */}, 355151497Sru{ "`a", /* 224 */}, 356151497Sru{ "'a", /* 225 */}, 357151497Sru{ "^a", /* 226 */}, 358151497Sru{ "~a", /* 227 */}, 359151497Sru{ ":a", /* 228 */}, 360151497Sru{ "oa", /* 229 */}, 361151497Sru{ "ae", /* 230 */}, 362151497Sru{ ",c", /* 231 */}, 363151497Sru{ "`e", /* 232 */}, 364151497Sru{ "'e", /* 233 */}, 365151497Sru{ "^e", /* 234 */}, 366151497Sru{ ":e", /* 235 */}, 367151497Sru{ "`i", /* 236 */}, 368151497Sru{ "'i", /* 237 */}, 369151497Sru{ "^i", /* 238 */}, 370151497Sru{ ":i", /* 239 */}, 371151497Sru{ "Sd", /* 240 */}, 372151497Sru{ "~n", /* 241 */}, 373151497Sru{ "`o", /* 242 */}, 374151497Sru{ "'o", /* 243 */}, 375151497Sru{ "^o", /* 244 */}, 376151497Sru{ "~o", /* 245 */}, 377151497Sru{ ":o", /* 246 */}, 378151497Sru{ "tdi", /* 247 */}, 379151497Sru{ "/o", /* 248 */}, 380151497Sru{ "`u", /* 249 */}, 381151497Sru{ "'u", /* 250 */}, 382151497Sru{ "^u", /* 251 */}, 383151497Sru{ ":u", /* 252 */}, 384151497Sru{ "'y", /* 253 */}, 385151497Sru{ "Tp", /* 254 */}, 386151497Sru{ ":y", /* 255 */}, 387151497Sru}}; 388151497Sru 389151497Srustatic DviCharNameMap Adobe_Symbol_map = { 390151497Sru "adobe-fontspecific", 391151497Sru 1, 392151497Sru{ 393151497Sru{ 0, /* 0 */}, 394151497Sru{ 0, /* 1 */}, 395151497Sru{ 0, /* 2 */}, 396151497Sru{ 0, /* 3 */}, 397151497Sru{ 0, /* 4 */}, 398151497Sru{ 0, /* 5 */}, 399151497Sru{ 0, /* 6 */}, 400151497Sru{ 0, /* 7 */}, 401151497Sru{ 0, /* 8 */}, 402151497Sru{ 0, /* 9 */}, 403151497Sru{ 0, /* 10 */}, 404151497Sru{ 0, /* 11 */}, 405151497Sru{ 0, /* 12 */}, 406151497Sru{ 0, /* 13 */}, 407151497Sru{ 0, /* 14 */}, 408151497Sru{ 0, /* 15 */}, 409151497Sru{ 0, /* 16 */}, 410151497Sru{ 0, /* 17 */}, 411151497Sru{ 0, /* 18 */}, 412151497Sru{ 0, /* 19 */}, 413151497Sru{ 0, /* 20 */}, 414151497Sru{ 0, /* 21 */}, 415151497Sru{ 0, /* 22 */}, 416151497Sru{ 0, /* 23 */}, 417151497Sru{ 0, /* 24 */}, 418151497Sru{ 0, /* 25 */}, 419151497Sru{ 0, /* 26 */}, 420151497Sru{ 0, /* 27 */}, 421151497Sru{ 0, /* 28 */}, 422151497Sru{ 0, /* 29 */}, 423151497Sru{ 0, /* 30 */}, 424151497Sru{ 0, /* 31 */}, 425151497Sru{ 0, /* 32 */}, 426151497Sru{ "!", /* 33 */}, 427151497Sru{ "fa", /* 34 */}, 428151497Sru{ "#", "sh", /* 35 */}, 429151497Sru{ "te", /* 36 */}, 430151497Sru{ "%", /* 37 */}, 431151497Sru{ "&", /* 38 */}, 432151497Sru{ "st", /* 39 */}, 433151497Sru{ "(", /* 40 */}, 434151497Sru{ ")", /* 41 */}, 435151497Sru{ "**", /* 42 */}, 436151497Sru{ "+", "pl", /* 43 */}, 437151497Sru{ ",", /* 44 */}, 438151497Sru{ "\\-", "mi", /* 45 */}, 439151497Sru{ ".", /* 46 */}, 440151497Sru{ "/", "sl", /* 47 */}, 441151497Sru{ "0", /* 48 */}, 442151497Sru{ "1", /* 49 */}, 443151497Sru{ "2", /* 50 */}, 444151497Sru{ "3", /* 51 */}, 445151497Sru{ "4", /* 52 */}, 446151497Sru{ "5", /* 53 */}, 447151497Sru{ "6", /* 54 */}, 448151497Sru{ "7", /* 55 */}, 449151497Sru{ "8", /* 56 */}, 450151497Sru{ "9", /* 57 */}, 451151497Sru{ ":", /* 58 */}, 452151497Sru{ ";", /* 59 */}, 453151497Sru{ "<", /* 60 */}, 454151497Sru{ "=", "eq", /* 61 */}, 455151497Sru{ ">", /* 62 */}, 456151497Sru{ "?", /* 63 */}, 457151497Sru{ "=~", /* 64 */}, 458151497Sru{ "*A", /* 65 */}, 459151497Sru{ "*B", /* 66 */}, 460151497Sru{ "*X", /* 67 */}, 461151497Sru{ "*D", /* 68 */}, 462151497Sru{ "*E", /* 69 */}, 463151497Sru{ "*F", /* 70 */}, 464151497Sru{ "*G", /* 71 */}, 465151497Sru{ "*Y", /* 72 */}, 466151497Sru{ "*I", /* 73 */}, 467151497Sru{ "+h", /* 74 */}, 468151497Sru{ "*K", /* 75 */}, 469151497Sru{ "*L", /* 76 */}, 470151497Sru{ "*M", /* 77 */}, 471151497Sru{ "*N", /* 78 */}, 472151497Sru{ "*O", /* 79 */}, 473151497Sru{ "*P", /* 80 */}, 474151497Sru{ "*H", /* 81 */}, 475151497Sru{ "*R", /* 82 */}, 476151497Sru{ "*S", /* 83 */}, 477151497Sru{ "*T", /* 84 */}, 478151497Sru{ 0, /* 85 */}, 479151497Sru{ "ts", /* 86 */}, 480151497Sru{ "*W", /* 87 */}, 481151497Sru{ "*C", /* 88 */}, 482151497Sru{ "*Q", /* 89 */}, 483151497Sru{ "*Z", /* 90 */}, 484151497Sru{ "[", "lB", /* 91 */}, 485151497Sru{ "tf", "3d", /* 92 */}, 486151497Sru{ "]", "rB", /* 93 */}, 487151497Sru{ "pp", /* 94 */}, 488151497Sru{ "_", /* 95 */}, 489151497Sru{ "radicalex", /* 96 */}, 490151497Sru{ "*a", /* 97 */}, 491151497Sru{ "*b", /* 98 */}, 492151497Sru{ "*x", /* 99 */}, 493151497Sru{ "*d", /* 100 */}, 494151497Sru{ "*e", /* 101 */}, 495151497Sru{ "*f", /* 102 */}, 496151497Sru{ "*g", /* 103 */}, 497151497Sru{ "*y", /* 104 */}, 498151497Sru{ "*i", /* 105 */}, 499151497Sru{ "+f", /* 106 */}, 500151497Sru{ "*k", /* 107 */}, 501151497Sru{ "*l", /* 108 */}, 502151497Sru{ "*m", /* 109 */}, 503151497Sru{ "*n", /* 110 */}, 504151497Sru{ "*o", /* 111 */}, 505151497Sru{ "*p", /* 112 */}, 506151497Sru{ "*h", /* 113 */}, 507151497Sru{ "*r", /* 114 */}, 508151497Sru{ "*s", /* 115 */}, 509151497Sru{ "*t", /* 116 */}, 510151497Sru{ "*u", /* 117 */}, 511151497Sru{ "+p", /* 118 */}, 512151497Sru{ "*w", /* 119 */}, 513151497Sru{ "*c", /* 120 */}, 514151497Sru{ "*q", /* 121 */}, 515151497Sru{ "*z", /* 122 */}, 516151497Sru{ "lC", "{", /* 123 */}, 517151497Sru{ "ba", "|", /* 124 */}, 518151497Sru{ "rC", "}", /* 125 */}, 519151497Sru{ "ap", /* 126 */}, 520151497Sru{ 0, /* 127 */}, 521151497Sru{ 0, /* 128 */}, 522151497Sru{ 0, /* 129 */}, 523151497Sru{ 0, /* 130 */}, 524151497Sru{ 0, /* 131 */}, 525151497Sru{ 0, /* 132 */}, 526151497Sru{ 0, /* 133 */}, 527151497Sru{ 0, /* 134 */}, 528151497Sru{ 0, /* 135 */}, 529151497Sru{ 0, /* 136 */}, 530151497Sru{ 0, /* 137 */}, 531151497Sru{ 0, /* 138 */}, 532151497Sru{ 0, /* 139 */}, 533151497Sru{ 0, /* 140 */}, 534151497Sru{ 0, /* 141 */}, 535151497Sru{ 0, /* 142 */}, 536151497Sru{ 0, /* 143 */}, 537151497Sru{ 0, /* 144 */}, 538151497Sru{ 0, /* 145 */}, 539151497Sru{ 0, /* 146 */}, 540151497Sru{ 0, /* 147 */}, 541151497Sru{ 0, /* 148 */}, 542151497Sru{ 0, /* 149 */}, 543151497Sru{ 0, /* 150 */}, 544151497Sru{ 0, /* 151 */}, 545151497Sru{ 0, /* 152 */}, 546151497Sru{ 0, /* 153 */}, 547151497Sru{ 0, /* 154 */}, 548151497Sru{ 0, /* 155 */}, 549151497Sru{ 0, /* 156 */}, 550151497Sru{ 0, /* 157 */}, 551151497Sru{ 0, /* 158 */}, 552151497Sru{ 0, /* 159 */}, 553151497Sru{ 0, /* 160 */}, 554151497Sru{ "*U", /* 161 */}, 555151497Sru{ "fm", /* 162 */}, 556151497Sru{ "<=", /* 163 */}, 557151497Sru{ "f/", /* 164 */}, 558151497Sru{ "if", /* 165 */}, 559151497Sru{ "Fn", /* 166 */}, 560151497Sru{ "CL", /* 167 */}, 561151497Sru{ "DI", /* 168 */}, 562151497Sru{ "HE", /* 169 */}, 563151497Sru{ "SP", /* 170 */}, 564151497Sru{ "<>", /* 171 */}, 565151497Sru{ "<-", /* 172 */}, 566151497Sru{ "ua", "arrowverttp", /* 173 */}, 567151497Sru{ "->", /* 174 */}, 568151497Sru{ "da", "arrowvertbt", /* 175 */}, 569151497Sru{ "de", /* 176 */}, 570151497Sru{ "+-", /* 177 */}, 571151497Sru{ "sd", /* 178 */}, 572151497Sru{ ">=", /* 179 */}, 573151497Sru{ "mu", /* 180 */}, 574151497Sru{ "pt", /* 181 */}, 575151497Sru{ "pd", /* 182 */}, 576151497Sru{ "bu", /* 183 */}, 577151497Sru{ "di", /* 184 */}, 578151497Sru{ "!=", /* 185 */}, 579151497Sru{ "==", /* 186 */}, 580151497Sru{ "~=", "~~", /* 187 */}, 581151497Sru{ 0, /* 188 */}, 582151497Sru{ "arrowvertex", /* 189 */}, 583151497Sru{ "an", /* 190 */}, 584151497Sru{ "CR", /* 191 */}, 585151497Sru{ "Ah", /* 192 */}, 586151497Sru{ "Im", /* 193 */}, 587151497Sru{ "Re", /* 194 */}, 588151497Sru{ "wp", /* 195 */}, 589151497Sru{ "c*", /* 196 */}, 590151497Sru{ "c+", /* 197 */}, 591151497Sru{ "es", /* 198 */}, 592151497Sru{ "ca", /* 199 */}, 593151497Sru{ "cu", /* 200 */}, 594151497Sru{ "sp", /* 201 */}, 595151497Sru{ "ip", /* 202 */}, 596151497Sru{ "nb", /* 203 */}, 597151497Sru{ "sb", /* 204 */}, 598151497Sru{ "ib", /* 205 */}, 599151497Sru{ "mo", /* 206 */}, 600151497Sru{ "nm", /* 207 */}, 601151497Sru{ "/_", /* 208 */}, 602151497Sru{ "gr", /* 209 */}, 603151497Sru{ "rg", /* 210 */}, 604151497Sru{ "co", /* 211 */}, 605151497Sru{ "tm", /* 212 */}, 606151497Sru{ 0, /* 213 */}, 607151497Sru{ "sr", "sqrt", /* 214 */}, 608151497Sru{ "md", /* 215 */}, 609151497Sru{ "no", /* 216 */}, 610151497Sru{ "AN", /* 217 */}, 611151497Sru{ "OR", /* 218 */}, 612151497Sru{ "hA", /* 219 */}, 613151497Sru{ "lA", /* 220 */}, 614151497Sru{ "uA", /* 221 */}, 615151497Sru{ "rA", /* 222 */}, 616151497Sru{ "dA", /* 223 */}, 617151497Sru{ "lz", /* 224 */}, 618151497Sru{ "la", /* 225 */}, 619151497Sru{ 0, /* 226 */}, 620151497Sru{ 0, /* 227 */}, 621151497Sru{ 0, /* 228 */}, 622151497Sru{ 0, /* 229 */}, 623151497Sru{ "parenlefttp", /* 230 */}, 624151497Sru{ "parenleftex", /* 231 */}, 625151497Sru{ "parenleftbt", /* 232 */}, 626151497Sru{ "bracketlefttp", "lc", /* 233 */}, 627151497Sru{ "bracketleftex", /* 234 */}, 628151497Sru{ "bracketleftbt", "lf", /* 235 */}, 629151497Sru{ "bracelefttp", "lt", /* 236 */}, 630151497Sru{ "braceleftmid", "lk", /* 237 */}, 631151497Sru{ "braceleftbt", "lb", /* 238 */}, 632151497Sru{ "bracerightex", "braceleftex", "braceex", "bv", /* 239 */}, 633151497Sru{ 0, /* 240 */}, 634151497Sru{ "ra", /* 241 */}, 635151497Sru{ "is", "integral", /* 242 */}, 636151497Sru{ 0, /* 243 */}, 637151497Sru{ 0, /* 244 */}, 638151497Sru{ 0, /* 245 */}, 639151497Sru{ "parenrighttp", /* 246 */}, 640151497Sru{ "parenrightex", /* 247 */}, 641151497Sru{ "parenrightbt", /* 248 */}, 642151497Sru{ "bracketrighttp", "rc", /* 249 */}, 643151497Sru{ "bracketrightex", /* 250 */}, 644151497Sru{ "bracketrightbt", "rf", /* 251 */}, 645151497Sru{ "bracerighttp", "rt", /* 252 */}, 646151497Sru{ "bracerightmid", "rk", /* 253 */}, 647151497Sru{ "bracerightbt", "rb", /* 254 */}, 648151497Sru{ 0, /* 255 */}, 649151497Sru}}; 650151497Sru 651151497Sru 652151497Srustatic void 653151497Sruload_standard_maps (void) 654151497Sru{ 655151497Sru standard_maps_loaded = 1; 656151497Sru DviRegisterMap (&ISO8859_1_map); 657151497Sru DviRegisterMap (&Adobe_Symbol_map); 658151497Sru} 659