1f80a6dcdSmrg/* 2f80a6dcdSmrg * DviChar.c 3f80a6dcdSmrg * 4f80a6dcdSmrg * Map DVI (ditrof output) character names to 5f80a6dcdSmrg * font indexes and back 6f80a6dcdSmrg */ 700994698Smrg#ifdef HAVE_CONFIG_H 800994698Smrg# include "config.h" 900994698Smrg#endif 10f80a6dcdSmrg 1100994698Smrg#include <X11/Intrinsic.h> 1200994698Smrg#include "DviChar.h" 13f80a6dcdSmrg 1400994698Smrg#define allocHash() ((DviCharNameHash *) XtMalloc (sizeof (DviCharNameHash))) 15f80a6dcdSmrg 16f80a6dcdSmrgstruct map_list { 1700994698Smrg struct map_list *next; 1800994698Smrg DviCharNameMap *map; 19f80a6dcdSmrg}; 20f80a6dcdSmrg 2100994698Smrgstatic struct map_list *world; 22f80a6dcdSmrg 2300994698Smrgstatic int standard_maps_loaded = 0; 2400994698Smrgstatic void load_standard_maps(void); 2500994698Smrgstatic int hash_name(const char *name); 2600994698Smrgstatic void dispose_hash(DviCharNameMap *map); 2700994698Smrgstatic void compute_hash(DviCharNameMap *map); 28f80a6dcdSmrg 29f80a6dcdSmrgDviCharNameMap * 3000994698SmrgDviFindMap(const char *encoding) 31f80a6dcdSmrg{ 3200994698Smrg if (!standard_maps_loaded) 3300994698Smrg load_standard_maps(); 3400994698Smrg for (struct map_list * m = world; m; m = m->next) { 3500994698Smrg if (!strcmp(m->map->encoding, encoding)) 3600994698Smrg return m->map; 3700994698Smrg } 3800994698Smrg return NULL; 39f80a6dcdSmrg} 40f80a6dcdSmrg 41f80a6dcdSmrgvoid 4200994698SmrgDviRegisterMap(DviCharNameMap *map) 43f80a6dcdSmrg{ 4400994698Smrg struct map_list *m; 45f80a6dcdSmrg 4600994698Smrg if (!standard_maps_loaded) 4700994698Smrg load_standard_maps(); 4800994698Smrg for (m = world; m; m = m->next) { 4900994698Smrg if (!strcmp(m->map->encoding, map->encoding)) 5000994698Smrg break; 5100994698Smrg } 5200994698Smrg if (!m) { 5300994698Smrg m = (struct map_list *) XtMalloc(sizeof *m); 5400994698Smrg m->next = world; 5500994698Smrg world = m; 5600994698Smrg } 5700994698Smrg dispose_hash(map); 5800994698Smrg m->map = map; 5900994698Smrg compute_hash(map); 60f80a6dcdSmrg} 61f80a6dcdSmrg 62f80a6dcdSmrgstatic void 6300994698Smrgdispose_hash(DviCharNameMap *map) 64f80a6dcdSmrg{ 6500994698Smrg DviCharNameHash **buckets = map->buckets; 66f80a6dcdSmrg 6700994698Smrg for (int i = 0; i < DVI_HASH_SIZE; i++) { 6800994698Smrg DviCharNameHash *next; 698c7c3c7eSmrg 7000994698Smrg for (DviCharNameHash * h = buckets[i]; h; h = next) { 7100994698Smrg next = h->next; 7200994698Smrg XtFree((char *) h); 7300994698Smrg } 7400994698Smrg } 75f80a6dcdSmrg} 76f80a6dcdSmrg 77f80a6dcdSmrgstatic int 7800994698Smrghash_name(const char *name) 79f80a6dcdSmrg{ 8000994698Smrg int i = 0; 81f80a6dcdSmrg 8200994698Smrg while (*name) 8300994698Smrg i = (i << 1) ^ *name++; 8400994698Smrg if (i < 0) 8500994698Smrg i = -i; 8600994698Smrg return i; 87f80a6dcdSmrg} 88f80a6dcdSmrg 89f80a6dcdSmrgstatic void 9000994698Smrgcompute_hash(DviCharNameMap *map) 91f80a6dcdSmrg{ 9200994698Smrg DviCharNameHash **buckets = map->buckets; 93f80a6dcdSmrg 9400994698Smrg for (int i = 0; i < DVI_HASH_SIZE; i++) { 9500994698Smrg buckets[i] = NULL; 9600994698Smrg } 9700994698Smrg for (int c = 0; c < DVI_MAP_SIZE; c++) { 9800994698Smrg for (int s = 0; s < DVI_MAX_SYNONYMS; s++) { 9900994698Smrg DviCharNameHash *h; 10000994698Smrg int i; 1018c7c3c7eSmrg 10200994698Smrg if (!map->dvi_names[c][s]) 10300994698Smrg break; 10400994698Smrg i = hash_name(map->dvi_names[c][s]) % DVI_HASH_SIZE; 10500994698Smrg h = allocHash(); 10600994698Smrg h->next = buckets[i]; 10700994698Smrg buckets[i] = h; 10800994698Smrg h->name = map->dvi_names[c][s]; 10900994698Smrg h->position = c; 11000994698Smrg } 11100994698Smrg } 112f80a6dcdSmrg} 113f80a6dcdSmrg 114f80a6dcdSmrgint 11500994698SmrgDviCharIndex(DviCharNameMap *map, const char *name) 116f80a6dcdSmrg{ 11700994698Smrg int i = hash_name(name) % DVI_HASH_SIZE; 118f80a6dcdSmrg 11900994698Smrg for (DviCharNameHash *h = map->buckets[i]; h; h = h->next) { 12000994698Smrg if (!strcmp(h->name, name)) 12100994698Smrg return h->position; 12200994698Smrg } 12300994698Smrg return -1; 124f80a6dcdSmrg} 125f80a6dcdSmrg 126f80a6dcdSmrgstatic DviCharNameMap ISO8859_1_map = { 12700994698Smrg "iso8859-1", 12800994698Smrg 0, 12900994698Smrg { 13000994698Smrg {NULL, /* 0 */ }, 13100994698Smrg {NULL, /* 1 */ }, 13200994698Smrg {NULL, /* 2 */ }, 13300994698Smrg {NULL, /* 3 */ }, 13400994698Smrg {NULL, /* 4 */ }, 13500994698Smrg {NULL, /* 5 */ }, 13600994698Smrg {NULL, /* 6 */ }, 13700994698Smrg {NULL, /* 7 */ }, 13800994698Smrg {NULL, /* 8 */ }, 13900994698Smrg {NULL, /* 9 */ }, 14000994698Smrg {NULL, /* 10 */ }, 14100994698Smrg {NULL, /* 11 */ }, 14200994698Smrg {NULL, /* 12 */ }, 14300994698Smrg {NULL, /* 13 */ }, 14400994698Smrg {NULL, /* 14 */ }, 14500994698Smrg {NULL, /* 15 */ }, 14600994698Smrg {NULL, /* 16 */ }, 14700994698Smrg {NULL, /* 17 */ }, 14800994698Smrg {NULL, /* 18 */ }, 14900994698Smrg {NULL, /* 19 */ }, 15000994698Smrg {NULL, /* 20 */ }, 15100994698Smrg {NULL, /* 21 */ }, 15200994698Smrg {NULL, /* 22 */ }, 15300994698Smrg {NULL, /* 23 */ }, 15400994698Smrg {NULL, /* 24 */ }, 15500994698Smrg {NULL, /* 25 */ }, 15600994698Smrg {NULL, /* 26 */ }, 15700994698Smrg {NULL, /* 27 */ }, 15800994698Smrg {NULL, /* 28 */ }, 15900994698Smrg {NULL, /* 29 */ }, 16000994698Smrg {NULL, /* 30 */ }, 16100994698Smrg {NULL, /* 31 */ }, 16200994698Smrg {NULL, /* 32 */ }, 16300994698Smrg {"!", /* 33 */ }, 16400994698Smrg {"\"", /* 34 */ }, 16500994698Smrg {"#", /* 35 */ }, 16600994698Smrg {"$", /* 36 */ }, 16700994698Smrg {"%", /* 37 */ }, 16800994698Smrg {"&", /* 38 */ }, 16900994698Smrg {"'", /* 39 */ }, 17000994698Smrg {"(", /* 40 */ }, 17100994698Smrg {")", /* 41 */ }, 17200994698Smrg {"*", /* 42 */ }, 17300994698Smrg {"+", /* 43 */ }, 17400994698Smrg {",", /* 44 */ }, 17500994698Smrg {"-", "\\-", /* 45 */ }, 17600994698Smrg {".", /* 46 */ }, 17700994698Smrg {"/", "sl", /* 47 */ }, 17800994698Smrg {"0", /* 48 */ }, 17900994698Smrg {"1", /* 49 */ }, 18000994698Smrg {"2", /* 50 */ }, 18100994698Smrg {"3", /* 51 */ }, 18200994698Smrg {"4", /* 52 */ }, 18300994698Smrg {"5", /* 53 */ }, 18400994698Smrg {"6", /* 54 */ }, 18500994698Smrg {"7", /* 55 */ }, 18600994698Smrg {"8", /* 56 */ }, 18700994698Smrg {"9", /* 57 */ }, 18800994698Smrg {":", /* 58 */ }, 18900994698Smrg {";", /* 59 */ }, 19000994698Smrg {"<", /* 60 */ }, 19100994698Smrg {"=", "eq", /* 61 */ }, 19200994698Smrg {">", /* 62 */ }, 19300994698Smrg {"?", /* 63 */ }, 19400994698Smrg {"@", /* 64 */ }, 19500994698Smrg {"A", /* 65 */ }, 19600994698Smrg {"B", /* 66 */ }, 19700994698Smrg {"C", /* 67 */ }, 19800994698Smrg {"D", /* 68 */ }, 19900994698Smrg {"E", /* 69 */ }, 20000994698Smrg {"F", /* 70 */ }, 20100994698Smrg {"G", /* 71 */ }, 20200994698Smrg {"H", /* 72 */ }, 20300994698Smrg {"I", /* 73 */ }, 20400994698Smrg {"J", /* 74 */ }, 20500994698Smrg {"K", /* 75 */ }, 20600994698Smrg {"L", /* 76 */ }, 20700994698Smrg {"M", /* 77 */ }, 20800994698Smrg {"N", /* 78 */ }, 20900994698Smrg {"O", /* 79 */ }, 21000994698Smrg {"P", /* 80 */ }, 21100994698Smrg {"Q", /* 81 */ }, 21200994698Smrg {"R", /* 82 */ }, 21300994698Smrg {"S", /* 83 */ }, 21400994698Smrg {"T", /* 84 */ }, 21500994698Smrg {"U", /* 85 */ }, 21600994698Smrg {"V", /* 86 */ }, 21700994698Smrg {"W", /* 87 */ }, 21800994698Smrg {"X", /* 88 */ }, 21900994698Smrg {"Y", /* 89 */ }, 22000994698Smrg {"Z", /* 90 */ }, 22100994698Smrg {"[", /* 91 */ }, 22200994698Smrg {"\\", /* 92 */ }, 22300994698Smrg {"]", /* 93 */ }, 22400994698Smrg {"a^", /* 94 */ }, 22500994698Smrg {"_", "ru", "ul", /* 95 */ }, 22600994698Smrg {"`", /* 96 */ }, 22700994698Smrg {"a", /* 97 */ }, 22800994698Smrg {"b", /* 98 */ }, 22900994698Smrg {"c", /* 99 */ }, 23000994698Smrg {"d", /* 100 */ }, 23100994698Smrg {"e", /* 101 */ }, 23200994698Smrg {"f", /* 102 */ }, 23300994698Smrg {"g", /* 103 */ }, 23400994698Smrg {"h", /* 104 */ }, 23500994698Smrg {"i", /* 105 */ }, 23600994698Smrg {"j", /* 106 */ }, 23700994698Smrg {"k", /* 107 */ }, 23800994698Smrg {"l", /* 108 */ }, 23900994698Smrg {"m", /* 109 */ }, 24000994698Smrg {"n", /* 110 */ }, 24100994698Smrg {"o", /* 111 */ }, 24200994698Smrg {"p", /* 112 */ }, 24300994698Smrg {"q", /* 113 */ }, 24400994698Smrg {"r", /* 114 */ }, 24500994698Smrg {"s", /* 115 */ }, 24600994698Smrg {"t", /* 116 */ }, 24700994698Smrg {"u", /* 117 */ }, 24800994698Smrg {"v", /* 118 */ }, 24900994698Smrg {"w", /* 119 */ }, 25000994698Smrg {"x", /* 120 */ }, 25100994698Smrg {"y", /* 121 */ }, 25200994698Smrg {"z", /* 122 */ }, 25300994698Smrg {"{", /* 123 */ }, 25400994698Smrg {"|", "or" /* 124 */ }, 25500994698Smrg {"}", /* 125 */ }, 25600994698Smrg {"a~", "ap" /* 126 */ }, 25700994698Smrg {NULL, /* 127 */ }, 25800994698Smrg {NULL, /* 128 */ }, 25900994698Smrg {NULL, /* 129 */ }, 26000994698Smrg {NULL, /* 130 */ }, 26100994698Smrg {NULL, /* 131 */ }, 26200994698Smrg {NULL, /* 132 */ }, 26300994698Smrg {NULL, /* 133 */ }, 26400994698Smrg {NULL, /* 134 */ }, 26500994698Smrg {NULL, /* 135 */ }, 26600994698Smrg {NULL, /* 136 */ }, 26700994698Smrg {NULL, /* 137 */ }, 26800994698Smrg {NULL, /* 138 */ }, 26900994698Smrg {NULL, /* 139 */ }, 27000994698Smrg {NULL, /* 140 */ }, 27100994698Smrg {NULL, /* 141 */ }, 27200994698Smrg {NULL, /* 142 */ }, 27300994698Smrg {NULL, /* 143 */ }, 27400994698Smrg {NULL, /* 144 */ }, 27500994698Smrg {NULL, /* 145 */ }, 27600994698Smrg {NULL, /* 146 */ }, 27700994698Smrg {NULL, /* 147 */ }, 27800994698Smrg {NULL, /* 148 */ }, 27900994698Smrg {NULL, /* 149 */ }, 28000994698Smrg {NULL, /* 150 */ }, 28100994698Smrg {NULL, /* 151 */ }, 28200994698Smrg {NULL, /* 152 */ }, 28300994698Smrg {NULL, /* 153 */ }, 28400994698Smrg {NULL, /* 154 */ }, 28500994698Smrg {NULL, /* 155 */ }, 28600994698Smrg {NULL, /* 156 */ }, 28700994698Smrg {NULL, /* 157 */ }, 28800994698Smrg {NULL, /* 158 */ }, 28900994698Smrg {NULL, /* 159 */ }, 29000994698Smrg {NULL, /* 160 */ }, 29100994698Smrg {"I!", /* 161 */ }, 29200994698Smrg {"ct", /* 162 */ }, 29300994698Smrg {"po", /* 163 */ }, 29400994698Smrg {"cu", /* 164 */ }, 29500994698Smrg {"$J", /* 165 */ }, 29600994698Smrg {NULL, /* 166 */ }, 29700994698Smrg {"sc", /* 167 */ }, 29800994698Smrg {NULL, /* 168 */ }, 29900994698Smrg {"co", /* 169 */ }, 30000994698Smrg {NULL, /* 170 */ }, 30100994698Smrg {"d<", /* 171 */ }, 30200994698Smrg {"no", /* 172 */ }, 30300994698Smrg {"hy", /* 173 */ }, 30400994698Smrg {"rg", /* 174 */ }, 30500994698Smrg {"ma", /* 175 */ }, 30600994698Smrg {"de", /* 176 */ }, 30700994698Smrg {"+-", /* 177 */ }, 30800994698Smrg {NULL, /* 178 */ }, 30900994698Smrg {NULL, /* 179 */ }, 31000994698Smrg {"aa", /* 180 */ }, 31100994698Smrg {"*m", /* 181 */ }, 31200994698Smrg {"pp", /* 182 */ }, 31300994698Smrg {NULL, /* 183 */ }, 31400994698Smrg {"cd", /* 184 */ }, 31500994698Smrg {NULL, /* 185 */ }, 31600994698Smrg {NULL, /* 186 */ }, 31700994698Smrg {"d>", /* 187 */ }, 31800994698Smrg {"14", /* 188 */ }, 31900994698Smrg {"12", /* 189 */ }, 32000994698Smrg {"34", /* 190 */ }, 32100994698Smrg {"I?", /* 191 */ }, 32200994698Smrg {NULL, /* 192 */ }, 32300994698Smrg {NULL, /* 193 */ }, 32400994698Smrg {NULL, /* 194 */ }, 32500994698Smrg {NULL, /* 195 */ }, 32600994698Smrg {NULL, /* 196 */ }, 32700994698Smrg {NULL, /* 197 */ }, 32800994698Smrg {"AE", /* 198 */ }, 32900994698Smrg {NULL, /* 199 */ }, 33000994698Smrg {NULL, /* 200 */ }, 33100994698Smrg {NULL, /* 201 */ }, 33200994698Smrg {NULL, /* 202 */ }, 33300994698Smrg {NULL, /* 203 */ }, 33400994698Smrg {NULL, /* 204 */ }, 33500994698Smrg {NULL, /* 205 */ }, 33600994698Smrg {NULL, /* 206 */ }, 33700994698Smrg {NULL, /* 207 */ }, 33800994698Smrg {NULL, /* 208 */ }, 33900994698Smrg {NULL, /* 209 */ }, 34000994698Smrg {NULL, /* 210 */ }, 34100994698Smrg {NULL, /* 211 */ }, 34200994698Smrg {NULL, /* 212 */ }, 34300994698Smrg {NULL, /* 213 */ }, 34400994698Smrg {NULL, /* 214 */ }, 34500994698Smrg {"mu", /* 215 */ }, 34600994698Smrg {"O/", /* 216 */ }, 34700994698Smrg {NULL, /* 217 */ }, 34800994698Smrg {NULL, /* 218 */ }, 34900994698Smrg {NULL, /* 219 */ }, 35000994698Smrg {NULL, /* 220 */ }, 35100994698Smrg {NULL, /* 221 */ }, 35200994698Smrg {NULL, /* 222 */ }, 35300994698Smrg {"ss", /* 223 */ }, 35400994698Smrg {NULL, /* 224 */ }, 35500994698Smrg {NULL, /* 225 */ }, 35600994698Smrg {NULL, /* 226 */ }, 35700994698Smrg {NULL, /* 227 */ }, 35800994698Smrg {NULL, /* 228 */ }, 35900994698Smrg {NULL, /* 229 */ }, 36000994698Smrg {"ae", /* 230 */ }, 36100994698Smrg {NULL, /* 231 */ }, 36200994698Smrg {NULL, /* 232 */ }, 36300994698Smrg {NULL, /* 233 */ }, 36400994698Smrg {NULL, /* 234 */ }, 36500994698Smrg {NULL, /* 235 */ }, 36600994698Smrg {NULL, /* 236 */ }, 36700994698Smrg {NULL, /* 237 */ }, 36800994698Smrg {NULL, /* 238 */ }, 36900994698Smrg {NULL, /* 239 */ }, 37000994698Smrg {NULL, /* 240 */ }, 37100994698Smrg {NULL, /* 241 */ }, 37200994698Smrg {NULL, /* 242 */ }, 37300994698Smrg {NULL, /* 243 */ }, 37400994698Smrg {NULL, /* 244 */ }, 37500994698Smrg {NULL, /* 245 */ }, 37600994698Smrg {NULL, /* 246 */ }, 37700994698Smrg {NULL, /* 247 */ }, 37800994698Smrg {NULL, /* 248 */ }, 37900994698Smrg {NULL, /* 249 */ }, 38000994698Smrg {NULL, /* 250 */ }, 38100994698Smrg {NULL, /* 251 */ }, 38200994698Smrg {NULL, /* 252 */ }, 38300994698Smrg {NULL, /* 253 */ }, 38400994698Smrg {NULL, /* 254 */ }, 38500994698Smrg {NULL, /* 255 */ }, 38600994698Smrg }, 38700994698Smrg { 38800994698Smrg {"fi", "fi",}, 38900994698Smrg {"fl", "fl",}, 39000994698Smrg {"ff", "ff",}, 39100994698Smrg {"Fi", "ffi",}, 39200994698Smrg {"Fl", "ffl",}, 39300994698Smrg {NULL, NULL,}, 39400994698Smrg }, 39500994698Smrg {} 396f80a6dcdSmrg}; 397f80a6dcdSmrg 398f80a6dcdSmrgstatic DviCharNameMap Adobe_Symbol_map = { 39900994698Smrg "adobe-fontspecific", 40000994698Smrg 1, 40100994698Smrg { 40200994698Smrg {NULL, /* 0 */ }, 40300994698Smrg {NULL, /* 1 */ }, 40400994698Smrg {NULL, /* 2 */ }, 40500994698Smrg {NULL, /* 3 */ }, 40600994698Smrg {NULL, /* 4 */ }, 40700994698Smrg {NULL, /* 5 */ }, 40800994698Smrg {NULL, /* 6 */ }, 40900994698Smrg {NULL, /* 7 */ }, 41000994698Smrg {NULL, /* 8 */ }, 41100994698Smrg {NULL, /* 9 */ }, 41200994698Smrg {NULL, /* 10 */ }, 41300994698Smrg {NULL, /* 11 */ }, 41400994698Smrg {NULL, /* 12 */ }, 41500994698Smrg {NULL, /* 13 */ }, 41600994698Smrg {NULL, /* 14 */ }, 41700994698Smrg {NULL, /* 15 */ }, 41800994698Smrg {NULL, /* 16 */ }, 41900994698Smrg {NULL, /* 17 */ }, 42000994698Smrg {NULL, /* 18 */ }, 42100994698Smrg {NULL, /* 19 */ }, 42200994698Smrg {NULL, /* 20 */ }, 42300994698Smrg {NULL, /* 21 */ }, 42400994698Smrg {NULL, /* 22 */ }, 42500994698Smrg {NULL, /* 23 */ }, 42600994698Smrg {NULL, /* 24 */ }, 42700994698Smrg {NULL, /* 25 */ }, 42800994698Smrg {NULL, /* 26 */ }, 42900994698Smrg {NULL, /* 27 */ }, 43000994698Smrg {NULL, /* 28 */ }, 43100994698Smrg {NULL, /* 29 */ }, 43200994698Smrg {NULL, /* 30 */ }, 43300994698Smrg {NULL, /* 31 */ }, 43400994698Smrg {NULL, /* 32 */ }, 43500994698Smrg {"!", /* 33 */ }, 43600994698Smrg {"fa", /* 34 */ }, 43700994698Smrg {"#", /* 35 */ }, 43800994698Smrg {"te", /* 36 */ }, 43900994698Smrg {"%", /* 37 */ }, 44000994698Smrg {"&", /* 38 */ }, 44100994698Smrg {"cm", /* 39 */ }, 44200994698Smrg {"(", /* 40 */ }, 44300994698Smrg {")", /* 41 */ }, 44400994698Smrg {"**", /* 42 */ }, 44500994698Smrg {"+", "pl", /* 43 */ }, 44600994698Smrg {",", /* 44 */ }, 44700994698Smrg {"-", "mi", "\\-", /* 45 */ }, 44800994698Smrg {".", /* 46 */ }, 44900994698Smrg {"/", "sl", /* 47 */ }, 45000994698Smrg {"0", /* 48 */ }, 45100994698Smrg {"1", /* 49 */ }, 45200994698Smrg {"2", /* 50 */ }, 45300994698Smrg {"3", /* 51 */ }, 45400994698Smrg {"4", /* 52 */ }, 45500994698Smrg {"5", /* 53 */ }, 45600994698Smrg {"6", /* 54 */ }, 45700994698Smrg {"7", /* 55 */ }, 45800994698Smrg {"8", /* 56 */ }, 45900994698Smrg {"9", /* 57 */ }, 46000994698Smrg {":", /* 58 */ }, 46100994698Smrg {";", /* 59 */ }, 46200994698Smrg {"<", /* 60 */ }, 46300994698Smrg {"=", "eq", /* 61 */ }, 46400994698Smrg {">", /* 62 */ }, 46500994698Smrg {"?", /* 63 */ }, 46600994698Smrg {"=~", /* 64 */ }, 46700994698Smrg {"*A", /* 65 */ }, 46800994698Smrg {"*B", /* 66 */ }, 46900994698Smrg {"*C", /* 67 */ }, 47000994698Smrg {"*D", /* 68 */ }, 47100994698Smrg {"*E", /* 69 */ }, 47200994698Smrg {"*F", /* 70 */ }, 47300994698Smrg {"*G", /* 71 */ }, 47400994698Smrg {"*Y", /* 72 */ }, 47500994698Smrg {"*I", /* 73 */ }, 47600994698Smrg {NULL, /* 74 */ }, 47700994698Smrg {"*K", /* 75 */ }, 47800994698Smrg {"*L", /* 76 */ }, 47900994698Smrg {"*M", /* 77 */ }, 48000994698Smrg {"*N", /* 78 */ }, 48100994698Smrg {"*O", /* 79 */ }, 48200994698Smrg {"*P", /* 80 */ }, 48300994698Smrg {"*H", /* 81 */ }, 48400994698Smrg {"*R", /* 82 */ }, 48500994698Smrg {"*S", /* 83 */ }, 48600994698Smrg {"*T", /* 84 */ }, 48700994698Smrg {"*U", /* 85 */ }, 48800994698Smrg {"ts", /* 86 */ }, 48900994698Smrg {"*W", /* 87 */ }, 49000994698Smrg {"*C", /* 88 */ }, 49100994698Smrg {"*Q", /* 89 */ }, 49200994698Smrg {"*Z", /* 90 */ }, 49300994698Smrg {"[", /* 91 */ }, 49400994698Smrg {"tf", /* 92 */ }, 49500994698Smrg {"]", /* 93 */ }, 49600994698Smrg {"bt", /* 94 */ }, 49700994698Smrg {"ul", /* 95 */ }, 49800994698Smrg {"rn", /* 96 */ }, 49900994698Smrg {"*a", /* 97 */ }, 50000994698Smrg {"*b", /* 98 */ }, 50100994698Smrg {"*x", /* 99 */ }, 50200994698Smrg {"*d", /* 100 */ }, 50300994698Smrg {"*e", /* 101 */ }, 50400994698Smrg {"*f", /* 102 */ }, 50500994698Smrg {"*g", /* 103 */ }, 50600994698Smrg {"*y", /* 104 */ }, 50700994698Smrg {"*i", /* 105 */ }, 50800994698Smrg {NULL, /* 106 */ }, 50900994698Smrg {"*k", /* 107 */ }, 51000994698Smrg {"*l", /* 108 */ }, 51100994698Smrg {"*m", /* 109 */ }, 51200994698Smrg {"*n", /* 110 */ }, 51300994698Smrg {"*o", /* 111 */ }, 51400994698Smrg {"*p", /* 112 */ }, 51500994698Smrg {"*h", /* 113 */ }, 51600994698Smrg {"*r", /* 114 */ }, 51700994698Smrg {"*s", /* 115 */ }, 51800994698Smrg {"*t", /* 116 */ }, 51900994698Smrg {"*u", /* 117 */ }, 52000994698Smrg {NULL, /* 118 */ }, 52100994698Smrg {"*w", /* 119 */ }, 52200994698Smrg {"*c", /* 120 */ }, 52300994698Smrg {"*q", /* 121 */ }, 52400994698Smrg {"*z", /* 122 */ }, 52500994698Smrg {"{", /* 123 */ }, 52600994698Smrg {"|", /* 124 */ }, 52700994698Smrg {"}", /* 125 */ }, 52800994698Smrg {"a~", "ap", /* 126 */ }, 52900994698Smrg {NULL, /* 127 */ }, 53000994698Smrg {NULL, /* 128 */ }, 53100994698Smrg {NULL, /* 129 */ }, 53200994698Smrg {NULL, /* 130 */ }, 53300994698Smrg {NULL, /* 131 */ }, 53400994698Smrg {NULL, /* 132 */ }, 53500994698Smrg {NULL, /* 133 */ }, 53600994698Smrg {NULL, /* 134 */ }, 53700994698Smrg {NULL, /* 135 */ }, 53800994698Smrg {NULL, /* 136 */ }, 53900994698Smrg {NULL, /* 137 */ }, 54000994698Smrg {NULL, /* 138 */ }, 54100994698Smrg {NULL, /* 139 */ }, 54200994698Smrg {NULL, /* 140 */ }, 54300994698Smrg {NULL, /* 141 */ }, 54400994698Smrg {NULL, /* 142 */ }, 54500994698Smrg {NULL, /* 143 */ }, 54600994698Smrg {NULL, /* 144 */ }, 54700994698Smrg {NULL, /* 145 */ }, 54800994698Smrg {NULL, /* 146 */ }, 54900994698Smrg {NULL, /* 147 */ }, 55000994698Smrg {NULL, /* 148 */ }, 55100994698Smrg {NULL, /* 149 */ }, 55200994698Smrg {NULL, /* 150 */ }, 55300994698Smrg {NULL, /* 151 */ }, 55400994698Smrg {NULL, /* 152 */ }, 55500994698Smrg {NULL, /* 153 */ }, 55600994698Smrg {NULL, /* 154 */ }, 55700994698Smrg {NULL, /* 155 */ }, 55800994698Smrg {NULL, /* 156 */ }, 55900994698Smrg {NULL, /* 157 */ }, 56000994698Smrg {NULL, /* 158 */ }, 56100994698Smrg {NULL, /* 159 */ }, 56200994698Smrg {NULL, /* 160 */ }, 56300994698Smrg {NULL, /* 161 */ }, 56400994698Smrg {"fm", "mt", /* 162 */ }, 56500994698Smrg {"<=", /* 163 */ }, 56600994698Smrg {"/", "sl" /* 164 */ }, 56700994698Smrg {"if", /* 165 */ }, 56800994698Smrg {NULL, /* 166 */ }, 56900994698Smrg {"Cc", /* 167 */ }, 57000994698Smrg {"Cd", /* 168 */ }, 57100994698Smrg {"Ch", /* 169 */ }, 57200994698Smrg {"Cs", /* 170 */ }, 57300994698Smrg {"<>", /* 171 */ }, 57400994698Smrg {"<-", /* 172 */ }, 57500994698Smrg {"ua", /* 173 */ }, 57600994698Smrg {"->", /* 174 */ }, 57700994698Smrg {"da", /* 175 */ }, 57800994698Smrg {"de", /* 176 */ }, 57900994698Smrg {"+-", /* 177 */ }, 58000994698Smrg {"sd", /* 178 */ }, 58100994698Smrg {">=", /* 179 */ }, 58200994698Smrg {"mu", /* 180 */ }, 58300994698Smrg {"pt", /* 181 */ }, 58400994698Smrg {"pd", /* 182 */ }, 58500994698Smrg {"bu", /* 183 */ }, 58600994698Smrg {"di", /* 184 */ }, 58700994698Smrg {"!=", /* 185 */ }, 58800994698Smrg {"==", /* 186 */ }, 58900994698Smrg {"~=", /* 187 */ }, 59000994698Smrg {"..", /* 188 */ }, 59100994698Smrg {"br", /* 189 */ }, 59200994698Smrg {"em", /* 190 */ }, 59300994698Smrg {"cr", /* 191 */ }, 59400994698Smrg {"al", /* 192 */ }, 59500994698Smrg {NULL, /* 193 */ }, 59600994698Smrg {NULL, /* 194 */ }, 59700994698Smrg {NULL, /* 195 */ }, 59800994698Smrg {"ax", /* 196 */ }, 59900994698Smrg {"a+", /* 197 */ }, 60000994698Smrg {"es", /* 198 */ }, 60100994698Smrg {"ca", /* 199 */ }, 60200994698Smrg {"cu", /* 200 */ }, 60300994698Smrg {"sp", /* 201 */ }, 60400994698Smrg {"ip", /* 202 */ }, 60500994698Smrg {"!s", /* 203 */ }, 60600994698Smrg {"sb", /* 204 */ }, 60700994698Smrg {"ib", /* 205 */ }, 60800994698Smrg {"mo", /* 206 */ }, 60900994698Smrg {"!m", /* 207 */ }, 61000994698Smrg {"ag", /* 208 */ }, 61100994698Smrg {"gr", /* 209 */ }, 61200994698Smrg {NULL, /* 210 */ }, 61300994698Smrg {NULL, /* 211 */ }, 61400994698Smrg {NULL, /* 212 */ }, 61500994698Smrg {NULL, /* 213 */ }, 61600994698Smrg {"sr", /* 214 */ }, 61700994698Smrg {"m.", /* 215 */ }, 61800994698Smrg {"no", /* 216 */ }, 61900994698Smrg {"an", /* 217 */ }, 62000994698Smrg {"lo", /* 218 */ }, 62100994698Smrg {"io", /* 219 */ }, 62200994698Smrg {"<:", /* 220 */ }, 62300994698Smrg {"u=", /* 221 */ }, 62400994698Smrg {":>", /* 222 */ }, 62500994698Smrg {"d=", /* 223 */ }, 62600994698Smrg {"dm", /* 224 */ }, 62700994698Smrg {"L<", /* 225 */ }, 62800994698Smrg {"rg", /* 226 */ }, 62900994698Smrg {"co", /* 227 */ }, 63000994698Smrg {"tm", /* 228 */ }, 63100994698Smrg {NULL, /* 229 */ }, 63200994698Smrg {NULL, /* 230 */ }, 63300994698Smrg {NULL, /* 231 */ }, 63400994698Smrg {NULL, /* 232 */ }, 63500994698Smrg {"lc", /* 233 */ }, 63600994698Smrg {NULL, /* 234 */ }, 63700994698Smrg {"lf", /* 235 */ }, 63800994698Smrg {"lt", /* 236 */ }, 63900994698Smrg {"lk", /* 237 */ }, 64000994698Smrg {"lb", /* 238 */ }, 64100994698Smrg {"bv", /* 239 */ }, 64200994698Smrg {"AL", /* 240 */ }, 64300994698Smrg {"R>", /* 241 */ }, 64400994698Smrg {"is", /* 242 */ }, 64500994698Smrg {NULL, /* 243 */ }, 64600994698Smrg {NULL, /* 244 */ }, 64700994698Smrg {NULL, /* 245 */ }, 64800994698Smrg {NULL, /* 246 */ }, 64900994698Smrg {NULL, /* 247 */ }, 65000994698Smrg {NULL, /* 248 */ }, 65100994698Smrg {"rc", /* 249 */ }, 65200994698Smrg {NULL, /* 250 */ }, 65300994698Smrg {"rf", /* 251 */ }, 65400994698Smrg {"rt", /* 252 */ }, 65500994698Smrg {"rk", /* 253 */ }, 65600994698Smrg {"rb", /* 254 */ }, 65700994698Smrg {NULL, /* 255 */ }, 65800994698Smrg }, 65900994698Smrg { 66000994698Smrg {NULL, NULL}, 66100994698Smrg }, 66200994698Smrg {} 663f80a6dcdSmrg}; 664f80a6dcdSmrg 665f80a6dcdSmrgstatic void 66600994698Smrgload_standard_maps(void) 667f80a6dcdSmrg{ 66800994698Smrg standard_maps_loaded = 1; 66900994698Smrg DviRegisterMap(&ISO8859_1_map); 67000994698Smrg DviRegisterMap(&Adobe_Symbol_map); 671f80a6dcdSmrg} 672