1/* charsets.c -- character set information and mappings 2 3 (c) 1998-2006 (W3C) MIT, ERCIM, Keio University 4 See tidy.h for the copyright notice. 5 6 $Id: charsets.c,v 1.3 2007/01/30 23:46:51 iccir Exp $ 7*/ 8 9#include "forward.h" 10#include "tidy.h" 11#include "tmbstr.h" 12#include "charsets.h" 13 14/* todo: documentation of table and data */ 15/* todo: integration of data and routines */ 16/* todo: minor cleanup for ambiguous relations */ 17static struct _charsetInfo 18{ 19 uint id; 20 ctmbstr charset; 21 uint codepage; 22 uint stateful; 23} const charsetInfo[] = 24{ 25 { 1, "adobe-standard-encoding", 0, no }, /* IANA */ 26 { 1, "csadobestandardencoding", 0, no }, /* IANA */ 27 { 2, "adobe-symbol-encoding", 0, no }, /* IANA */ 28 { 2, "cshppsmath", 0, no }, /* IANA */ 29 { 3, "iso-ir-99", 0, no }, /* IANA */ 30 { 3, "ansi_x3.110-1983", 0, no }, /* IANA */ 31 { 3, "csa_t500-1983", 0, no }, /* IANA */ 32 { 3, "naplps", 0, no }, /* IANA */ 33 { 3, "csiso99naplps", 0, no }, /* IANA */ 34 { 4, "us-ascii", 20127, no }, /* IANA */ 35 { 4, "iso-ir-6", 20127, no }, /* IANA */ 36 { 4, "ansi_x3.4-1968", 20127, no }, /* IANA */ 37 { 4, "ansi_x3.4-1986", 20127, no }, /* IANA */ 38 { 4, "iso_646.irv:1991", 20127, no }, /* IANA */ 39 { 4, "ascii", 20127, no }, /* IANA */ 40 { 4, "iso646-us", 20127, no }, /* IANA */ 41 { 4, "us", 20127, no }, /* IANA */ 42 { 4, "ibm367", 20127, no }, /* IANA */ 43 { 4, "cp367", 20127, no }, /* IANA */ 44 { 4, "csascii", 20127, no }, /* IANA */ 45 { 4, "iso-ir-6us", 20127, no }, /* MICROSOFT */ 46 { 5, "iso-ir-89", 0, no }, /* IANA */ 47 { 5, "asmo_449", 0, no }, /* IANA */ 48 { 5, "iso_9036", 0, no }, /* IANA */ 49 { 5, "arabic7", 0, no }, /* IANA */ 50 { 5, "csiso89asmo449", 0, no }, /* IANA */ 51 { 6, "big5", 950, no }, /* IANA */ 52 { 6, "csbig5", 950, no }, /* IANA */ 53 { 6, "cn-big5", 950, no }, /* MICROSOFT */ 54 { 6, "x-x-big5", 950, no }, /* MICROSOFT */ 55 { 7, "big5-hkscs", 950, no }, /* IANA */ 56 { 7, "cn-big5", 950, no }, /* MICROSOFT */ 57 { 7, "x-x-big5", 950, no }, /* MICROSOFT */ 58 { 8, "bocu-1", 0, no }, /* IANA */ 59 { 8, "csbocu-1", 0, no }, /* IANA */ 60 { 9, "iso-ir-4", 0, no }, /* IANA */ 61 { 9, "bs_4730", 0, no }, /* IANA */ 62 { 9, "iso646-gb", 0, no }, /* IANA */ 63 { 9, "gb", 0, no }, /* IANA */ 64 { 9, "uk", 0, no }, /* IANA */ 65 { 9, "csiso4unitedkingdom", 0, no }, /* IANA */ 66 { 10, "iso-ir-47", 0, no }, /* IANA */ 67 { 10, "bs_viewdata", 0, no }, /* IANA */ 68 { 10, "csiso47bsviewdata", 0, no }, /* IANA */ 69 { 11, "cesu-8", 0, no }, /* IANA */ 70 { 11, "cscesu-8", 0, no }, /* IANA */ 71 { 12, "iso-ir-121", 0, no }, /* IANA */ 72 { 12, "csa_z243.4-1985-1", 0, no }, /* IANA */ 73 { 12, "iso646-ca", 0, no }, /* IANA */ 74 { 12, "csa7-1", 0, no }, /* IANA */ 75 { 12, "ca", 0, no }, /* IANA */ 76 { 12, "csiso121canadian1", 0, no }, /* IANA */ 77 { 13, "iso-ir-122", 0, no }, /* IANA */ 78 { 13, "csa_z243.4-1985-2", 0, no }, /* IANA */ 79 { 13, "iso646-ca2", 0, no }, /* IANA */ 80 { 13, "csa7-2", 0, no }, /* IANA */ 81 { 13, "csiso122canadian2", 0, no }, /* IANA */ 82 { 14, "iso-ir-123", 0, no }, /* IANA */ 83 { 14, "csa_z243.4-1985-gr", 0, no }, /* IANA */ 84 { 14, "csiso123csaz24341985gr", 0, no }, /* IANA */ 85 { 15, "iso-ir-139", 0, no }, /* IANA */ 86 { 15, "csn_369103", 0, no }, /* IANA */ 87 { 15, "csiso139csn369103", 0, no }, /* IANA */ 88 { 16, "dec-mcs", 0, no }, /* IANA */ 89 { 16, "dec", 0, no }, /* IANA */ 90 { 16, "csdecmcs", 0, no }, /* IANA */ 91 { 17, "iso-ir-21", 20106, no }, /* IANA */ 92 { 17, "din_66003", 20106, no }, /* IANA */ 93 { 17, "de", 20106, no }, /* IANA */ 94 { 17, "iso646-de", 20106, no }, /* IANA */ 95 { 17, "csiso21german", 20106, no }, /* IANA */ 96 { 17, "x-ia5-german", 20106, no }, /* MICROSOFT */ 97 { 18, "dk-us", 0, no }, /* IANA */ 98 { 18, "csdkus", 0, no }, /* IANA */ 99 { 19, "ds_2089", 0, no }, /* IANA */ 100 { 19, "ds2089", 0, no }, /* IANA */ 101 { 19, "iso646-dk", 0, no }, /* IANA */ 102 { 19, "dk", 0, no }, /* IANA */ 103 { 19, "csiso646danish", 0, no }, /* IANA */ 104 { 20, "ebcdic-at-de", 0, no }, /* IANA */ 105 { 20, "csibmebcdicatde", 0, no }, /* IANA */ 106 { 21, "ebcdic-at-de-a", 0, no }, /* IANA */ 107 { 21, "csebcdicatdea", 0, no }, /* IANA */ 108 { 22, "ebcdic-ca-fr", 0, no }, /* IANA */ 109 { 22, "csebcdiccafr", 0, no }, /* IANA */ 110 { 23, "ebcdic-dk-no", 0, no }, /* IANA */ 111 { 23, "csebcdicdkno", 0, no }, /* IANA */ 112 { 24, "ebcdic-dk-no-a", 0, no }, /* IANA */ 113 { 24, "csebcdicdknoa", 0, no }, /* IANA */ 114 { 25, "ebcdic-es", 0, no }, /* IANA */ 115 { 25, "csebcdices", 0, no }, /* IANA */ 116 { 26, "ebcdic-es-a", 0, no }, /* IANA */ 117 { 26, "csebcdicesa", 0, no }, /* IANA */ 118 { 27, "ebcdic-es-s", 0, no }, /* IANA */ 119 { 27, "csebcdicess", 0, no }, /* IANA */ 120 { 28, "ebcdic-fi-se", 0, no }, /* IANA */ 121 { 28, "csebcdicfise", 0, no }, /* IANA */ 122 { 29, "ebcdic-fi-se-a", 0, no }, /* IANA */ 123 { 29, "csebcdicfisea", 0, no }, /* IANA */ 124 { 30, "ebcdic-fr", 0, no }, /* IANA */ 125 { 30, "csebcdicfr", 0, no }, /* IANA */ 126 { 31, "ebcdic-it", 0, no }, /* IANA */ 127 { 31, "csebcdicit", 0, no }, /* IANA */ 128 { 32, "ebcdic-pt", 0, no }, /* IANA */ 129 { 32, "csebcdicpt", 0, no }, /* IANA */ 130 { 33, "ebcdic-uk", 0, no }, /* IANA */ 131 { 33, "csebcdicuk", 0, no }, /* IANA */ 132 { 34, "ebcdic-us", 0, no }, /* IANA */ 133 { 34, "csebcdicus", 0, no }, /* IANA */ 134 { 35, "iso-ir-111", 0, no }, /* IANA */ 135 { 35, "ecma-cyrillic", 0, no }, /* IANA */ 136 { 35, "csiso111ecmacyrillic", 0, no }, /* IANA */ 137 { 36, "iso-ir-17", 0, no }, /* IANA */ 138 { 36, "es", 0, no }, /* IANA */ 139 { 36, "iso646-es", 0, no }, /* IANA */ 140 { 36, "csiso17spanish", 0, no }, /* IANA */ 141 { 37, "iso-ir-85", 0, no }, /* IANA */ 142 { 37, "es2", 0, no }, /* IANA */ 143 { 37, "iso646-es2", 0, no }, /* IANA */ 144 { 37, "csiso85spanish2", 0, no }, /* IANA */ 145 { 38, "euc-kr", 51949, no }, /* IANA */ 146 { 38, "cseuckr", 51949, no }, /* IANA */ 147 { 39, "extended_unix_code_fixed_width_for_japanese", 0, no }, /* IANA */ 148 { 39, "cseucfixwidjapanese", 0, no }, /* IANA */ 149 { 40, "euc-jp", 51932, no }, /* IANA */ 150 { 40, "extended_unix_code_packed_format_for_japanese", 51932, no }, /* IANA */ 151 { 40, "cseucpkdfmtjapanese", 51932, no }, /* IANA */ 152 { 40, "x-euc-jp", 51932, no }, /* MICROSOFT */ 153 { 40, "x-euc", 51932, no }, /* MICROSOFT */ 154 { 41, "gb18030", 54936, no }, /* IANA */ 155 { 42, "gb2312", 936, no }, /* IANA */ 156 { 42, "csgb2312", 936, no }, /* IANA */ 157 { 42, "csgb231280", 936, no }, /* MICROSOFT */ 158 { 42, "gb2312-80", 936, no }, /* MICROSOFT */ 159 { 42, "gb231280", 936, no }, /* MICROSOFT */ 160 { 42, "cn-gb", 936, no }, /* MICROSOFT */ 161 { 43, "iso-ir-57", 0, no }, /* IANA */ 162 { 43, "gb_1988-80", 0, no }, /* IANA */ 163 { 43, "cn", 0, no }, /* IANA */ 164 { 43, "iso646-cn", 0, no }, /* IANA */ 165 { 43, "csiso57gb1988", 0, no }, /* IANA */ 166 { 44, "iso-ir-58", 936, no }, /* IANA */ 167 { 44, "gb_2312-80", 936, no }, /* IANA */ 168 { 44, "chinese", 936, no }, /* IANA */ 169 { 44, "csiso58gb231280", 936, no }, /* IANA */ 170 { 44, "csgb231280", 936, no }, /* MICROSOFT */ 171 { 44, "gb2312-80", 936, no }, /* MICROSOFT */ 172 { 44, "gb231280", 936, no }, /* MICROSOFT */ 173 { 44, "cn-gb", 936, no }, /* MICROSOFT */ 174 { 45, "gbk", 936, no }, /* IANA */ 175 { 45, "cp936", 936, no }, /* IANA */ 176 { 45, "ms936", 936, no }, /* IANA */ 177 { 45, "windows-936", 936, no }, /* IANA */ 178 { 45, "csgb231280", 936, no }, /* MICROSOFT */ 179 { 45, "gb2312-80", 936, no }, /* MICROSOFT */ 180 { 45, "gb231280", 936, no }, /* MICROSOFT */ 181 { 45, "cn-gb", 936, no }, /* MICROSOFT */ 182 { 46, "iso-ir-153", 0, no }, /* IANA */ 183 { 46, "gost_19768-74", 0, no }, /* IANA */ 184 { 46, "st_sev_358-88", 0, no }, /* IANA */ 185 { 46, "csiso153gost1976874", 0, no }, /* IANA */ 186 { 47, "iso-ir-150", 0, no }, /* IANA */ 187 { 47, "greek-ccitt", 0, no }, /* IANA */ 188 { 47, "csiso150", 0, no }, /* IANA */ 189 { 47, "csiso150greekccitt", 0, no }, /* IANA */ 190 { 48, "iso-ir-88", 0, no }, /* IANA */ 191 { 48, "greek7", 0, no }, /* IANA */ 192 { 48, "csiso88greek7", 0, no }, /* IANA */ 193 { 49, "iso-ir-18", 0, no }, /* IANA */ 194 { 49, "greek7-old", 0, no }, /* IANA */ 195 { 49, "csiso18greek7old", 0, no }, /* IANA */ 196 { 50, "hp-desktop", 0, no }, /* IANA */ 197 { 50, "cshpdesktop", 0, no }, /* IANA */ 198 { 51, "hp-legal", 0, no }, /* IANA */ 199 { 51, "cshplegal", 0, no }, /* IANA */ 200 { 52, "hp-math8", 0, no }, /* IANA */ 201 { 52, "cshpmath8", 0, no }, /* IANA */ 202 { 53, "hp-pi-font", 0, no }, /* IANA */ 203 { 53, "cshppifont", 0, no }, /* IANA */ 204 { 54, "hp-roman8", 0, no }, /* IANA */ 205 { 54, "roman8", 0, no }, /* IANA */ 206 { 54, "r8", 0, no }, /* IANA */ 207 { 54, "cshproman8", 0, no }, /* IANA */ 208 { 55, "hz-gb-2312", 52936, yes }, /* IANA */ 209 { 56, "ibm-symbols", 0, no }, /* IANA */ 210 { 56, "csibmsymbols", 0, no }, /* IANA */ 211 { 57, "ibm-thai", 20838, no }, /* IANA */ 212 { 57, "csibmthai", 20838, no }, /* IANA */ 213 { 57, "x-ebcdic-thai", 20838, no }, /* MICROSOFT */ 214 { 58, "ibm00858", 858, no }, /* IANA */ 215 { 58, "ccsid00858", 858, no }, /* IANA */ 216 { 58, "cp00858", 858, no }, /* IANA */ 217 { 58, "pc-multilingual-850+euro", 858, no }, /* IANA */ 218 { 59, "ibm00924", 20924, no }, /* IANA */ 219 { 59, "ccsid00924", 20924, no }, /* IANA */ 220 { 59, "cp00924", 20924, no }, /* IANA */ 221 { 59, "ebcdic-latin9--euro", 20924, no }, /* IANA */ 222 { 60, "ibm01140", 1140, no }, /* IANA */ 223 { 60, "ccsid01140", 1140, no }, /* IANA */ 224 { 60, "cp01140", 1140, no }, /* IANA */ 225 { 60, "ebcdic-us-37+euro", 1140, no }, /* IANA */ 226 { 60, "x-ebcdic-cp-us-euro", 1140, no }, /* MICROSOFT */ 227 { 61, "ibm01141", 1141, no }, /* IANA */ 228 { 61, "ccsid01141", 1141, no }, /* IANA */ 229 { 61, "cp01141", 1141, no }, /* IANA */ 230 { 61, "ebcdic-de-273+euro", 1141, no }, /* IANA */ 231 { 61, "x-ebcdic-germany-euro", 1141, no }, /* MICROSOFT */ 232 { 62, "ibm01142", 1142, no }, /* IANA */ 233 { 62, "ccsid01142", 1142, no }, /* IANA */ 234 { 62, "cp01142", 1142, no }, /* IANA */ 235 { 62, "ebcdic-dk-277+euro", 1142, no }, /* IANA */ 236 { 62, "ebcdic-no-277+euro", 1142, no }, /* IANA */ 237 { 62, "x-ebcdic-denmarknorway-euro", 1142, no }, /* MICROSOFT */ 238 { 63, "ibm01143", 1143, no }, /* IANA */ 239 { 63, "ccsid01143", 1143, no }, /* IANA */ 240 { 63, "cp01143", 1143, no }, /* IANA */ 241 { 63, "ebcdic-fi-278+euro", 1143, no }, /* IANA */ 242 { 63, "ebcdic-se-278+euro", 1143, no }, /* IANA */ 243 { 63, "x-ebcdic-france", 1143, no }, /* MICROSOFT */ 244 { 63, "x-ebcdic-finlandsweden-euro", 1143, no }, /* MICROSOFT */ 245 { 64, "ibm01144", 1144, no }, /* IANA */ 246 { 64, "ccsid01144", 1144, no }, /* IANA */ 247 { 64, "cp01144", 1144, no }, /* IANA */ 248 { 64, "ebcdic-it-280+euro", 1144, no }, /* IANA */ 249 { 64, "x-ebcdic-italy-euro", 1144, no }, /* MICROSOFT */ 250 { 65, "ibm01145", 1145, no }, /* IANA */ 251 { 65, "ccsid01145", 1145, no }, /* IANA */ 252 { 65, "cp01145", 1145, no }, /* IANA */ 253 { 65, "ebcdic-es-284+euro", 1145, no }, /* IANA */ 254 { 65, "x-ebcdic-spain-euro", 1145, no }, /* MICROSOFT */ 255 { 66, "ibm01146", 1146, no }, /* IANA */ 256 { 66, "ccsid01146", 1146, no }, /* IANA */ 257 { 66, "cp01146", 1146, no }, /* IANA */ 258 { 66, "ebcdic-gb-285+euro", 1146, no }, /* IANA */ 259 { 66, "x-ebcdic-uk-euro", 1146, no }, /* MICROSOFT */ 260 { 67, "ibm01147", 1147, no }, /* IANA */ 261 { 67, "ccsid01147", 1147, no }, /* IANA */ 262 { 67, "cp01147", 1147, no }, /* IANA */ 263 { 67, "ebcdic-fr-297+euro", 1147, no }, /* IANA */ 264 { 67, "x-ebcdic-france-euro", 1147, no }, /* MICROSOFT */ 265 { 68, "ibm01148", 1148, no }, /* IANA */ 266 { 68, "ccsid01148", 1148, no }, /* IANA */ 267 { 68, "cp01148", 1148, no }, /* IANA */ 268 { 68, "ebcdic-international-500+euro", 1148, no }, /* IANA */ 269 { 68, "x-ebcdic-international-euro", 1148, no }, /* MICROSOFT */ 270 { 69, "ibm01149", 1149, no }, /* IANA */ 271 { 69, "ccsid01149", 1149, no }, /* IANA */ 272 { 69, "cp01149", 1149, no }, /* IANA */ 273 { 69, "ebcdic-is-871+euro", 1149, no }, /* IANA */ 274 { 69, "x-ebcdic-icelandic-euro", 1149, no }, /* MICROSOFT */ 275 { 70, "ibm037", 37, no }, /* IANA */ 276 { 70, "cp037", 37, no }, /* IANA */ 277 { 70, "ebcdic-cp-us", 37, no }, /* IANA */ 278 { 70, "ebcdic-cp-ca", 37, no }, /* IANA */ 279 { 70, "ebcdic-cp-wt", 37, no }, /* IANA */ 280 { 70, "ebcdic-cp-nl", 37, no }, /* IANA */ 281 { 70, "csibm037", 37, no }, /* IANA */ 282 { 71, "ibm038", 0, no }, /* IANA */ 283 { 71, "ebcdic-int", 0, no }, /* IANA */ 284 { 71, "cp038", 0, no }, /* IANA */ 285 { 71, "csibm038", 0, no }, /* IANA */ 286 { 72, "ibm1026", 1026, no }, /* IANA */ 287 { 72, "cp1026", 1026, no }, /* IANA */ 288 { 72, "csibm1026", 1026, no }, /* IANA */ 289 { 73, "ibm1047", 0, no }, /* IANA */ 290 { 73, "ibm-1047", 0, no }, /* IANA */ 291 { 74, "ibm273", 20273, no }, /* IANA */ 292 { 74, "cp273", 20273, no }, /* IANA */ 293 { 74, "csibm273", 20273, no }, /* IANA */ 294 { 74, "x-ebcdic-germany", 20273, no }, /* MICROSOFT */ 295 { 75, "ibm274", 0, no }, /* IANA */ 296 { 75, "ebcdic-be", 0, no }, /* IANA */ 297 { 75, "cp274", 0, no }, /* IANA */ 298 { 75, "csibm274", 0, no }, /* IANA */ 299 { 76, "ibm275", 0, no }, /* IANA */ 300 { 76, "ebcdic-br", 0, no }, /* IANA */ 301 { 76, "cp275", 0, no }, /* IANA */ 302 { 76, "csibm275", 0, no }, /* IANA */ 303 { 77, "ibm277", 20277, no }, /* IANA */ 304 { 77, "ebcdic-cp-dk", 20277, no }, /* IANA */ 305 { 77, "ebcdic-cp-no", 20277, no }, /* IANA */ 306 { 77, "csibm277", 20277, no }, /* IANA */ 307 { 77, "x-ebcdic-denmarknorway", 20277, no }, /* MICROSOFT */ 308 { 78, "ibm278", 20278, no }, /* IANA */ 309 { 78, "cp278", 20278, no }, /* IANA */ 310 { 78, "ebcdic-cp-fi", 20278, no }, /* IANA */ 311 { 78, "ebcdic-cp-se", 20278, no }, /* IANA */ 312 { 78, "csibm278", 20278, no }, /* IANA */ 313 { 78, "x-ebcdic-finlandsweden", 20278, no }, /* MICROSOFT */ 314 { 79, "ibm280", 20280, no }, /* IANA */ 315 { 79, "cp280", 20280, no }, /* IANA */ 316 { 79, "ebcdic-cp-it", 20280, no }, /* IANA */ 317 { 79, "csibm280", 20280, no }, /* IANA */ 318 { 79, "x-ebcdic-italy", 20280, no }, /* MICROSOFT */ 319 { 80, "ibm281", 0, no }, /* IANA */ 320 { 80, "ebcdic-jp-e", 0, no }, /* IANA */ 321 { 80, "cp281", 0, no }, /* IANA */ 322 { 80, "csibm281", 0, no }, /* IANA */ 323 { 81, "ibm284", 20284, no }, /* IANA */ 324 { 81, "cp284", 20284, no }, /* IANA */ 325 { 81, "ebcdic-cp-es", 20284, no }, /* IANA */ 326 { 81, "csibm284", 20284, no }, /* IANA */ 327 { 81, "x-ebcdic-spain", 20284, no }, /* MICROSOFT */ 328 { 82, "ibm285", 20285, no }, /* IANA */ 329 { 82, "cp285", 20285, no }, /* IANA */ 330 { 82, "ebcdic-cp-gb", 20285, no }, /* IANA */ 331 { 82, "csibm285", 20285, no }, /* IANA */ 332 { 82, "x-ebcdic-uk", 20285, no }, /* MICROSOFT */ 333 { 83, "ibm290", 20290, no }, /* IANA */ 334 { 83, "cp290", 20290, no }, /* IANA */ 335 { 83, "ebcdic-jp-kana", 20290, no }, /* IANA */ 336 { 83, "csibm290", 20290, no }, /* IANA */ 337 { 83, "x-ebcdic-japanesekatakana", 20290, no }, /* MICROSOFT */ 338 { 84, "ibm297", 20297, no }, /* IANA */ 339 { 84, "cp297", 20297, no }, /* IANA */ 340 { 84, "ebcdic-cp-fr", 20297, no }, /* IANA */ 341 { 84, "csibm297", 20297, no }, /* IANA */ 342 { 85, "ibm420", 20420, no }, /* IANA */ 343 { 85, "cp420", 20420, no }, /* IANA */ 344 { 85, "ebcdic-cp-ar1", 20420, no }, /* IANA */ 345 { 85, "csibm420", 20420, no }, /* IANA */ 346 { 85, "x-ebcdic-arabic", 20420, no }, /* MICROSOFT */ 347 { 86, "ibm423", 20423, no }, /* IANA */ 348 { 86, "cp423", 20423, no }, /* IANA */ 349 { 86, "ebcdic-cp-gr", 20423, no }, /* IANA */ 350 { 86, "csibm423", 20423, no }, /* IANA */ 351 { 86, "x-ebcdic-greek", 20423, no }, /* MICROSOFT */ 352 { 87, "ibm424", 20424, no }, /* IANA */ 353 { 87, "cp424", 20424, no }, /* IANA */ 354 { 87, "ebcdic-cp-he", 20424, no }, /* IANA */ 355 { 87, "csibm424", 20424, no }, /* IANA */ 356 { 87, "x-ebcdic-hebrew", 20424, no }, /* MICROSOFT */ 357 { 88, "ibm437", 437, no }, /* IANA */ 358 { 88, "cp437", 437, no }, /* IANA */ 359 { 88, "437", 437, no }, /* IANA */ 360 { 88, "cspc8codepage437", 437, no }, /* IANA */ 361 { 88, "codepage437", 437, no }, /* MICROSOFT */ 362 { 88, "cspc8", 437, no }, /* MICROSOFT */ 363 { 89, "ibm500", 500, no }, /* IANA */ 364 { 89, "cp500", 500, no }, /* IANA */ 365 { 89, "ebcdic-cp-be", 500, no }, /* IANA */ 366 { 89, "ebcdic-cp-ch", 500, no }, /* IANA */ 367 { 89, "csibm500", 500, no }, /* IANA */ 368 { 90, "ibm775", 775, no }, /* IANA */ 369 { 90, "cp775", 775, no }, /* IANA */ 370 { 90, "cspc775baltic", 775, no }, /* IANA */ 371 { 91, "ibm850", 850, no }, /* IANA */ 372 { 91, "cp850", 850, no }, /* IANA */ 373 { 91, "850", 850, no }, /* IANA */ 374 { 91, "cspc850multilingual", 850, no }, /* IANA */ 375 { 92, "ibm851", 0, no }, /* IANA */ 376 { 92, "cp851", 0, no }, /* IANA */ 377 { 92, "851", 0, no }, /* IANA */ 378 { 92, "csibm851", 0, no }, /* IANA */ 379 { 93, "ibm852", 852, no }, /* IANA */ 380 { 93, "cp852", 852, no }, /* IANA */ 381 { 93, "852", 852, no }, /* IANA */ 382 { 93, "cspcp852", 852, no }, /* IANA */ 383 { 94, "ibm855", 855, no }, /* IANA */ 384 { 94, "cp855", 855, no }, /* IANA */ 385 { 94, "855", 855, no }, /* IANA */ 386 { 94, "csibm855", 855, no }, /* IANA */ 387 { 95, "ibm857", 857, no }, /* IANA */ 388 { 95, "cp857", 857, no }, /* IANA */ 389 { 95, "857", 857, no }, /* IANA */ 390 { 95, "csibm857", 857, no }, /* IANA */ 391 { 96, "ibm860", 860, no }, /* IANA */ 392 { 96, "cp860", 860, no }, /* IANA */ 393 { 96, "860", 860, no }, /* IANA */ 394 { 96, "csibm860", 860, no }, /* IANA */ 395 { 97, "ibm861", 861, no }, /* IANA */ 396 { 97, "cp861", 861, no }, /* IANA */ 397 { 97, "861", 861, no }, /* IANA */ 398 { 97, "cp-is", 861, no }, /* IANA */ 399 { 97, "csibm861", 861, no }, /* IANA */ 400 { 98, "ibm862", 862, no }, /* IANA */ 401 { 98, "cp862", 862, no }, /* IANA */ 402 { 98, "862", 862, no }, /* IANA */ 403 { 98, "cspc862latinhebrew", 862, no }, /* IANA */ 404 { 98, "dos-862", 862, no }, /* MICROSOFT */ 405 { 99, "ibm863", 863, no }, /* IANA */ 406 { 99, "cp863", 863, no }, /* IANA */ 407 { 99, "863", 863, no }, /* IANA */ 408 { 99, "csibm863", 863, no }, /* IANA */ 409 { 100, "ibm864", 864, no }, /* IANA */ 410 { 100, "cp864", 864, no }, /* IANA */ 411 { 100, "csibm864", 864, no }, /* IANA */ 412 { 101, "ibm865", 865, no }, /* IANA */ 413 { 101, "cp865", 865, no }, /* IANA */ 414 { 101, "865", 865, no }, /* IANA */ 415 { 101, "csibm865", 865, no }, /* IANA */ 416 { 102, "ibm866", 866, no }, /* IANA */ 417 { 102, "cp866", 866, no }, /* IANA */ 418 { 102, "866", 866, no }, /* IANA */ 419 { 102, "csibm866", 866, no }, /* IANA */ 420 { 103, "ibm868", 0, no }, /* IANA */ 421 { 103, "cp868", 0, no }, /* IANA */ 422 { 103, "cp-ar", 0, no }, /* IANA */ 423 { 103, "csibm868", 0, no }, /* IANA */ 424 { 104, "ibm869", 869, no }, /* IANA */ 425 { 104, "cp869", 869, no }, /* IANA */ 426 { 104, "869", 869, no }, /* IANA */ 427 { 104, "cp-gr", 869, no }, /* IANA */ 428 { 104, "csibm869", 869, no }, /* IANA */ 429 { 105, "ibm870", 870, no }, /* IANA */ 430 { 105, "cp870", 870, no }, /* IANA */ 431 { 105, "ebcdic-cp-roece", 870, no }, /* IANA */ 432 { 105, "ebcdic-cp-yu", 870, no }, /* IANA */ 433 { 105, "csibm870", 870, no }, /* IANA */ 434 { 106, "ibm871", 20871, no }, /* IANA */ 435 { 106, "cp871", 20871, no }, /* IANA */ 436 { 106, "ebcdic-cp-is", 20871, no }, /* IANA */ 437 { 106, "csibm871", 20871, no }, /* IANA */ 438 { 106, "x-ebcdic-icelandic", 20871, no }, /* MICROSOFT */ 439 { 107, "ibm880", 20880, no }, /* IANA */ 440 { 107, "cp880", 20880, no }, /* IANA */ 441 { 107, "ebcdic-cyrillic", 20880, no }, /* IANA */ 442 { 107, "csibm880", 20880, no }, /* IANA */ 443 { 107, "x-ebcdic-cyrillicrussian", 20880, no }, /* MICROSOFT */ 444 { 108, "ibm891", 0, no }, /* IANA */ 445 { 108, "cp891", 0, no }, /* IANA */ 446 { 108, "csibm891", 0, no }, /* IANA */ 447 { 109, "ibm903", 0, no }, /* IANA */ 448 { 109, "cp903", 0, no }, /* IANA */ 449 { 109, "csibm903", 0, no }, /* IANA */ 450 { 110, "ibm904", 0, no }, /* IANA */ 451 { 110, "cp904", 0, no }, /* IANA */ 452 { 110, "904", 0, no }, /* IANA */ 453 { 110, "csibbm904", 0, no }, /* IANA */ 454 { 111, "ibm905", 20905, no }, /* IANA */ 455 { 111, "cp905", 20905, no }, /* IANA */ 456 { 111, "ebcdic-cp-tr", 20905, no }, /* IANA */ 457 { 111, "csibm905", 20905, no }, /* IANA */ 458 { 111, "x-ebcdic-turkish", 20905, no }, /* MICROSOFT */ 459 { 112, "ibm918", 0, no }, /* IANA */ 460 { 112, "cp918", 0, no }, /* IANA */ 461 { 112, "ebcdic-cp-ar2", 0, no }, /* IANA */ 462 { 112, "csibm918", 0, no }, /* IANA */ 463 { 113, "iso-ir-143", 0, no }, /* IANA */ 464 { 113, "iec_p27-1", 0, no }, /* IANA */ 465 { 113, "csiso143iecp271", 0, no }, /* IANA */ 466 { 114, "iso-ir-49", 0, no }, /* IANA */ 467 { 114, "inis", 0, no }, /* IANA */ 468 { 114, "csiso49inis", 0, no }, /* IANA */ 469 { 115, "iso-ir-50", 0, no }, /* IANA */ 470 { 115, "inis-8", 0, no }, /* IANA */ 471 { 115, "csiso50inis8", 0, no }, /* IANA */ 472 { 116, "iso-ir-51", 0, no }, /* IANA */ 473 { 116, "inis-cyrillic", 0, no }, /* IANA */ 474 { 116, "csiso51iniscyrillic", 0, no }, /* IANA */ 475 { 117, "invariant", 0, no }, /* IANA */ 476 { 117, "csinvariant", 0, no }, /* IANA */ 477 { 118, "iso-10646-j-1", 0, no }, /* IANA */ 478 { 119, "iso-10646-ucs-2", 1200, no }, /* IANA */ 479 { 119, "csunicode", 1200, no }, /* IANA */ 480 { 119, "unicode", 1200, no }, /* MICROSOFT */ 481 { 120, "iso-10646-ucs-4", 0, no }, /* IANA */ 482 { 120, "csucs4", 0, no }, /* IANA */ 483 { 121, "iso-10646-ucs-basic", 0, no }, /* IANA */ 484 { 121, "csunicodeascii", 0, no }, /* IANA */ 485 { 122, "iso-10646-unicode-latin1", 0, no }, /* IANA */ 486 { 122, "iso-10646", 0, no }, /* IANA */ 487 { 122, "csunicodelatin1", 0, no }, /* IANA */ 488 { 123, "iso-10646-utf-1", 0, no }, /* IANA */ 489 { 123, "csiso10646utf1", 0, no }, /* IANA */ 490 { 124, "iso-2022-cn", 0, yes }, /* IANA */ 491 { 125, "iso-2022-cn-ext", 0, yes }, /* IANA */ 492 { 126, "iso-2022-jp", 50220, yes }, /* IANA */ 493 { 126, "csiso2022jp", 50220, yes }, /* IANA */ 494 { 127, "iso-2022-jp-2", 0, yes }, /* IANA */ 495 { 127, "csiso2022jp2", 0, yes }, /* IANA */ 496 { 128, "iso-2022-kr", 50225, yes }, /* IANA */ 497 { 128, "csiso2022kr", 50225, yes }, /* IANA */ 498 { 129, "iso-8859-1-windows-3.0-latin-1", 0, no }, /* IANA */ 499 { 129, "cswindows30latin1", 0, no }, /* IANA */ 500 { 130, "iso-8859-1-windows-3.1-latin-1", 0, no }, /* IANA */ 501 { 130, "cswindows31latin1", 0, no }, /* IANA */ 502 { 131, "iso-8859-10", 0, no }, /* IANA */ 503 { 131, "iso-ir-157", 0, no }, /* IANA */ 504 { 131, "l6", 0, no }, /* IANA */ 505 { 131, "iso_8859-10:1992", 0, no }, /* IANA */ 506 { 131, "csisolatin6", 0, no }, /* IANA */ 507 { 131, "latin6", 0, no }, /* IANA */ 508 { 132, "iso-8859-13", 28603, no }, /* IANA */ 509 { 133, "iso-8859-14", 0, no }, /* IANA */ 510 { 133, "iso-ir-199", 0, no }, /* IANA */ 511 { 133, "iso-celtic", 0, no }, /* IANA */ 512 { 133, "iso_8859-14:1998", 0, no }, /* IANA */ 513 { 133, "iso_8859-14", 0, no }, /* IANA */ 514 { 133, "latin8", 0, no }, /* IANA */ 515 { 133, "l8", 0, no }, /* IANA */ 516 { 134, "iso-8859-15", 28605, no }, /* IANA */ 517 { 134, "iso_8859-15", 28605, no }, /* IANA */ 518 { 134, "latin-9", 28605, no }, /* IANA */ 519 { 134, "l9", 28605, no }, /* MICROSOFT */ 520 { 134, "latin9", 28605, no }, /* MICROSOFT */ 521 { 135, "iso-8859-16", 0, no }, /* IANA */ 522 { 135, "iso-ir-226", 0, no }, /* IANA */ 523 { 135, "iso_8859-16:2001", 0, no }, /* IANA */ 524 { 135, "iso_8859-16", 0, no }, /* IANA */ 525 { 135, "latin10", 0, no }, /* IANA */ 526 { 135, "l10", 0, no }, /* IANA */ 527 { 136, "iso-8859-2-windows-latin-2", 0, no }, /* IANA */ 528 { 136, "cswindows31latin2", 0, no }, /* IANA */ 529 { 137, "iso-8859-9-windows-latin-5", 0, no }, /* IANA */ 530 { 137, "cswindows31latin5", 0, no }, /* IANA */ 531 { 138, "iso-ir-90", 0, no }, /* IANA */ 532 { 138, "csiso90", 0, no }, /* IANA */ 533 { 139, "iso-unicode-ibm-1261", 0, no }, /* IANA */ 534 { 139, "csunicodeibm1261", 0, no }, /* IANA */ 535 { 140, "iso-unicode-ibm-1264", 0, no }, /* IANA */ 536 { 140, "csunicodeibm1264", 0, no }, /* IANA */ 537 { 141, "iso-unicode-ibm-1265", 0, no }, /* IANA */ 538 { 141, "csunicodeibm1265", 0, no }, /* IANA */ 539 { 142, "iso-unicode-ibm-1268", 0, no }, /* IANA */ 540 { 142, "csunicodeibm1268", 0, no }, /* IANA */ 541 { 143, "iso-unicode-ibm-1276", 0, no }, /* IANA */ 542 { 143, "csunicodeibm1276", 0, no }, /* IANA */ 543 { 144, "iso-ir-155", 0, no }, /* IANA */ 544 { 144, "iso_10367-box", 0, no }, /* IANA */ 545 { 144, "csiso10367box", 0, no }, /* IANA */ 546 { 145, "iso-ir-98", 0, no }, /* IANA */ 547 { 145, "iso_2033-1983", 0, no }, /* IANA */ 548 { 145, "e13b", 0, no }, /* IANA */ 549 { 145, "csiso2033", 0, no }, /* IANA */ 550 { 146, "iso-ir-37", 0, no }, /* IANA */ 551 { 146, "iso_5427", 0, no }, /* IANA */ 552 { 146, "csiso5427cyrillic", 0, no }, /* IANA */ 553 { 147, "iso-ir-54", 0, no }, /* IANA */ 554 { 147, "iso_5427:1981", 0, no }, /* IANA */ 555 { 147, "iso5427cyrillic1981", 0, no }, /* IANA */ 556 { 148, "iso-ir-55", 0, no }, /* IANA */ 557 { 148, "iso_5428:1980", 0, no }, /* IANA */ 558 { 148, "csiso5428greek", 0, no }, /* IANA */ 559 { 149, "iso_646.basic:1983", 0, no }, /* IANA */ 560 { 149, "ref", 0, no }, /* IANA */ 561 { 149, "csiso646basic1983", 0, no }, /* IANA */ 562 { 150, "iso-ir-2", 20105, no }, /* IANA */ 563 { 150, "iso_646.irv:1983", 20105, no }, /* IANA */ 564 { 150, "irv", 20105, no }, /* IANA */ 565 { 150, "csiso2intlrefversion", 20105, no }, /* IANA */ 566 { 150, "x-ia5", 20105, no }, /* MICROSOFT */ 567 { 151, "iso-ir-152", 0, no }, /* IANA */ 568 { 151, "iso_6937-2-25", 0, no }, /* IANA */ 569 { 151, "csiso6937add", 0, no }, /* IANA */ 570 { 152, "iso-ir-142", 0, no }, /* IANA */ 571 { 152, "iso_6937-2-add", 0, no }, /* IANA */ 572 { 152, "csisotextcomm", 0, no }, /* IANA */ 573 { 153, "iso-8859-1", 28591, no }, /* IANA */ 574 { 153, "iso-ir-100", 28591, no }, /* IANA */ 575 { 153, "iso_8859-1:1987", 28591, no }, /* IANA */ 576 { 153, "iso_8859-1", 28591, no }, /* IANA */ 577 { 153, "latin1", 28591, no }, /* IANA */ 578 { 153, "l1", 28591, no }, /* IANA */ 579 { 153, "ibm819", 28591, no }, /* IANA */ 580 { 153, "cp819", 28591, no }, /* IANA */ 581 { 153, "csisolatin1", 28591, no }, /* IANA */ 582 { 153, "iso8859-1", 28591, no }, /* MICROSOFT */ 583 { 154, "iso-8859-2", 28592, no }, /* IANA */ 584 { 154, "iso-ir-101", 28592, no }, /* IANA */ 585 { 154, "iso_8859-2:1987", 28592, no }, /* IANA */ 586 { 154, "iso_8859-2", 28592, no }, /* IANA */ 587 { 154, "latin2", 28592, no }, /* IANA */ 588 { 154, "l2", 28592, no }, /* IANA */ 589 { 154, "csisolatin2", 28592, no }, /* IANA */ 590 { 154, "iso8859-2", 28592, no }, /* MICROSOFT */ 591 { 155, "iso-8859-3", 28593, no }, /* IANA */ 592 { 155, "iso-ir-109", 28593, no }, /* IANA */ 593 { 155, "iso_8859-3:1988", 28593, no }, /* IANA */ 594 { 155, "iso_8859-3", 28593, no }, /* IANA */ 595 { 155, "latin3", 28593, no }, /* IANA */ 596 { 155, "l3", 28593, no }, /* IANA */ 597 { 155, "csisolatin3", 28593, no }, /* IANA */ 598 { 156, "iso-8859-4", 28594, no }, /* IANA */ 599 { 156, "iso-ir-110", 28594, no }, /* IANA */ 600 { 156, "iso_8859-4:1988", 28594, no }, /* IANA */ 601 { 156, "iso_8859-4", 28594, no }, /* IANA */ 602 { 156, "latin4", 28594, no }, /* IANA */ 603 { 156, "l4", 28594, no }, /* IANA */ 604 { 156, "csisolatin4", 28594, no }, /* IANA */ 605 { 157, "iso-8859-5", 28595, no }, /* IANA */ 606 { 157, "iso-ir-144", 28595, no }, /* IANA */ 607 { 157, "iso_8859-5:1988", 28595, no }, /* IANA */ 608 { 157, "iso_8859-5", 28595, no }, /* IANA */ 609 { 157, "cyrillic", 28595, no }, /* IANA */ 610 { 157, "csisolatincyrillic", 28595, no }, /* IANA */ 611 { 158, "iso-8859-6-e", 0, no }, /* IANA */ 612 { 158, "iso_8859-6-e", 0, no }, /* IANA */ 613 { 158, "csiso88596e", 0, no }, /* IANA */ 614 { 159, "iso-8859-6-i", 0, no }, /* IANA */ 615 { 159, "iso_8859-6-i", 0, no }, /* IANA */ 616 { 159, "csiso88596i", 0, no }, /* IANA */ 617 { 160, "iso-8859-6", 28596, no }, /* IANA */ 618 { 160, "iso-ir-127", 28596, no }, /* IANA */ 619 { 160, "iso_8859-6:1987", 28596, no }, /* IANA */ 620 { 160, "iso_8859-6", 28596, no }, /* IANA */ 621 { 160, "ecma-114", 28596, no }, /* IANA */ 622 { 160, "asmo-708", 28596, no }, /* IANA */ 623 { 160, "arabic", 28596, no }, /* IANA */ 624 { 160, "csisolatinarabic", 28596, no }, /* IANA */ 625 { 161, "iso-8859-7", 28597, no }, /* IANA */ 626 { 161, "iso-ir-126", 28597, no }, /* IANA */ 627 { 161, "iso_8859-7:1987", 28597, no }, /* IANA */ 628 { 161, "iso_8859-7", 28597, no }, /* IANA */ 629 { 161, "elot_928", 28597, no }, /* IANA */ 630 { 161, "ecma-118", 28597, no }, /* IANA */ 631 { 161, "greek", 28597, no }, /* IANA */ 632 { 161, "greek8", 28597, no }, /* IANA */ 633 { 161, "csisolatingreek", 28597, no }, /* IANA */ 634 { 162, "iso-8859-8-e", 0, no }, /* IANA */ 635 { 162, "iso_8859-8-e", 0, no }, /* IANA */ 636 { 162, "csiso88598e", 0, no }, /* IANA */ 637 { 163, "iso-8859-8-i", 38598, no }, /* IANA */ 638 { 163, "iso_8859-8-i", 38598, no }, /* IANA */ 639 { 163, "csiso88598i", 38598, no }, /* IANA */ 640 { 164, "iso-8859-8", 28598, no }, /* IANA */ 641 { 164, "iso-ir-138", 28598, no }, /* IANA */ 642 { 164, "iso_8859-8:1988", 28598, no }, /* IANA */ 643 { 164, "iso_8859-8", 28598, no }, /* IANA */ 644 { 164, "hebrew", 28598, no }, /* IANA */ 645 { 164, "csisolatinhebrew", 28598, no }, /* IANA */ 646 { 164, "logical", 28598, no }, /* MICROSOFT */ 647 { 164, "visual", 28598, no }, /* MICROSOFT */ 648 { 165, "iso-8859-9", 28599, no }, /* IANA */ 649 { 165, "iso-ir-148", 28599, no }, /* IANA */ 650 { 165, "iso_8859-9:1989", 28599, no }, /* IANA */ 651 { 165, "iso_8859-9", 28599, no }, /* IANA */ 652 { 165, "latin5", 28599, no }, /* IANA */ 653 { 165, "l5", 28599, no }, /* IANA */ 654 { 165, "csisolatin5", 28599, no }, /* IANA */ 655 { 166, "iso-ir-154", 0, no }, /* IANA */ 656 { 166, "iso_8859-supp", 0, no }, /* IANA */ 657 { 166, "latin1-2-5", 0, no }, /* IANA */ 658 { 166, "csiso8859supp", 0, no }, /* IANA */ 659 { 167, "iso-ir-15", 0, no }, /* IANA */ 660 { 167, "it", 0, no }, /* IANA */ 661 { 167, "iso646-it", 0, no }, /* IANA */ 662 { 167, "csiso15italian", 0, no }, /* IANA */ 663 { 168, "iso-ir-13", 0, no }, /* IANA */ 664 { 168, "jis_c6220-1969-jp", 0, no }, /* IANA */ 665 { 168, "jis_c6220-1969", 0, no }, /* IANA */ 666 { 168, "katakana", 0, no }, /* IANA */ 667 { 168, "x0201-7", 0, no }, /* IANA */ 668 { 168, "csiso13jisc6220jp", 0, no }, /* IANA */ 669 { 169, "iso-ir-14", 0, no }, /* IANA */ 670 { 169, "jis_c6220-1969-ro", 0, no }, /* IANA */ 671 { 169, "jp", 0, no }, /* IANA */ 672 { 169, "iso646-jp", 0, no }, /* IANA */ 673 { 169, "csiso14jisc6220ro", 0, no }, /* IANA */ 674 { 170, "iso-ir-42", 0, no }, /* IANA */ 675 { 170, "jis_c6226-1978", 0, no }, /* IANA */ 676 { 170, "csiso42jisc62261978", 0, no }, /* IANA */ 677 { 171, "iso-ir-87", 0, no }, /* IANA */ 678 { 171, "jis_c6226-1983", 0, no }, /* IANA */ 679 { 171, "x0208", 0, no }, /* IANA */ 680 { 171, "jis_x0208-1983", 0, no }, /* IANA */ 681 { 171, "csiso87jisx0208", 0, no }, /* IANA */ 682 { 172, "iso-ir-91", 0, no }, /* IANA */ 683 { 172, "jis_c6229-1984-a", 0, no }, /* IANA */ 684 { 172, "jp-ocr-a", 0, no }, /* IANA */ 685 { 172, "csiso91jisc62291984a", 0, no }, /* IANA */ 686 { 173, "iso-ir-92", 0, no }, /* IANA */ 687 { 173, "jis_c6229-1984-b", 0, no }, /* IANA */ 688 { 173, "iso646-jp-ocr-b", 0, no }, /* IANA */ 689 { 173, "jp-ocr-b", 0, no }, /* IANA */ 690 { 173, "csiso92jisc62991984b", 0, no }, /* IANA */ 691 { 174, "iso-ir-93", 0, no }, /* IANA */ 692 { 174, "jis_c6229-1984-b-add", 0, no }, /* IANA */ 693 { 174, "jp-ocr-b-add", 0, no }, /* IANA */ 694 { 174, "csiso93jis62291984badd", 0, no }, /* IANA */ 695 { 175, "iso-ir-94", 0, no }, /* IANA */ 696 { 175, "jis_c6229-1984-hand", 0, no }, /* IANA */ 697 { 175, "jp-ocr-hand", 0, no }, /* IANA */ 698 { 175, "csiso94jis62291984hand", 0, no }, /* IANA */ 699 { 176, "iso-ir-95", 0, no }, /* IANA */ 700 { 176, "jis_c6229-1984-hand-add", 0, no }, /* IANA */ 701 { 176, "jp-ocr-hand-add", 0, no }, /* IANA */ 702 { 176, "csiso95jis62291984handadd", 0, no }, /* IANA */ 703 { 177, "iso-ir-96", 0, no }, /* IANA */ 704 { 177, "jis_c6229-1984-kana", 0, no }, /* IANA */ 705 { 177, "csiso96jisc62291984kana", 0, no }, /* IANA */ 706 { 178, "jis_encoding", 0, no }, /* IANA */ 707 { 178, "csjisencoding", 0, no }, /* IANA */ 708 { 179, "jis_x0201", 0, no }, /* IANA */ 709 { 179, "x0201", 0, no }, /* IANA */ 710 { 179, "cshalfwidthkatakana", 0, no }, /* IANA */ 711 { 180, "iso-ir-159", 0, no }, /* IANA */ 712 { 180, "jis_x0212-1990", 0, no }, /* IANA */ 713 { 180, "x0212", 0, no }, /* IANA */ 714 { 180, "csiso159jisx02121990", 0, no }, /* IANA */ 715 { 181, "iso-ir-141", 0, no }, /* IANA */ 716 { 181, "jus_i.b1.002", 0, no }, /* IANA */ 717 { 181, "iso646-yu", 0, no }, /* IANA */ 718 { 181, "js", 0, no }, /* IANA */ 719 { 181, "yu", 0, no }, /* IANA */ 720 { 181, "csiso141jusib1002", 0, no }, /* IANA */ 721 { 182, "iso-ir-147", 0, no }, /* IANA */ 722 { 182, "jus_i.b1.003-mac", 0, no }, /* IANA */ 723 { 182, "macedonian", 0, no }, /* IANA */ 724 { 182, "csiso147macedonian", 0, no }, /* IANA */ 725 { 183, "iso-ir-146", 0, no }, /* IANA */ 726 { 183, "jus_i.b1.003-serb", 0, no }, /* IANA */ 727 { 183, "serbian", 0, no }, /* IANA */ 728 { 183, "csiso146serbian", 0, no }, /* IANA */ 729 { 184, "koi8-r", 20866, no }, /* IANA */ 730 { 184, "cskoi8r", 20866, no }, /* IANA */ 731 { 184, "koi8", 20866, no }, /* MICROSOFT */ 732 { 184, "koi", 20866, no }, /* MICROSOFT */ 733 { 184, "koi8r", 20866, no }, /* MICROSOFT */ 734 { 185, "koi8-u", 21866, no }, /* IANA */ 735 { 185, "koi8-ru", 21866, no }, /* MICROSOFT */ 736 { 186, "iso-ir-149", 949, no }, /* IANA */ 737 { 186, "ks_c_5601-1987", 949, no }, /* IANA */ 738 { 186, "ks_c_5601-1989", 949, no }, /* IANA */ 739 { 186, "ksc_5601", 949, no }, /* IANA */ 740 { 186, "korean", 949, no }, /* IANA */ 741 { 186, "csksc56011987", 949, no }, /* IANA */ 742 { 186, "ks_c_5601_1987", 949, no }, /* MICROSOFT */ 743 { 186, "ksc5601", 949, no }, /* MICROSOFT */ 744 { 186, "ks_c_5601", 949, no }, /* MICROSOFT */ 745 { 187, "ksc5636", 0, no }, /* IANA */ 746 { 187, "iso646-kr", 0, no }, /* IANA */ 747 { 187, "csksc5636", 0, no }, /* IANA */ 748 { 188, "iso-ir-19", 0, no }, /* IANA */ 749 { 188, "latin-greek", 0, no }, /* IANA */ 750 { 188, "csiso19latingreek", 0, no }, /* IANA */ 751 { 189, "iso-ir-27", 0, no }, /* IANA */ 752 { 189, "latin-greek-1", 0, no }, /* IANA */ 753 { 189, "csiso27latingreek1", 0, no }, /* IANA */ 754 { 190, "iso-ir-158", 0, no }, /* IANA */ 755 { 190, "latin-lap", 0, no }, /* IANA */ 756 { 190, "lap", 0, no }, /* IANA */ 757 { 190, "csiso158lap", 0, no }, /* IANA */ 758 { 191, "macintosh", 10000, no }, /* IANA */ 759 { 191, "mac", 10000, no }, /* IANA */ 760 { 191, "csmacintosh", 10000, no }, /* IANA */ 761 { 192, "microsoft-publishing", 0, no }, /* IANA */ 762 { 192, "csmicrosoftpublishing", 0, no }, /* IANA */ 763 { 193, "mnem", 0, no }, /* IANA */ 764 { 193, "csmnem", 0, no }, /* IANA */ 765 { 194, "mnemonic", 0, no }, /* IANA */ 766 { 194, "csmnemonic", 0, no }, /* IANA */ 767 { 195, "iso-ir-86", 0, no }, /* IANA */ 768 { 195, "msz_7795.3", 0, no }, /* IANA */ 769 { 195, "iso646-hu", 0, no }, /* IANA */ 770 { 195, "hu", 0, no }, /* IANA */ 771 { 195, "csiso86hungarian", 0, no }, /* IANA */ 772 { 196, "iso-ir-9-1", 0, no }, /* IANA */ 773 { 196, "nats-dano", 0, no }, /* IANA */ 774 { 196, "csnatsdano", 0, no }, /* IANA */ 775 { 197, "iso-ir-9-2", 0, no }, /* IANA */ 776 { 197, "nats-dano-add", 0, no }, /* IANA */ 777 { 197, "csnatsdanoadd", 0, no }, /* IANA */ 778 { 198, "iso-ir-8-1", 0, no }, /* IANA */ 779 { 198, "nats-sefi", 0, no }, /* IANA */ 780 { 198, "csnatssefi", 0, no }, /* IANA */ 781 { 199, "iso-ir-8-2", 0, no }, /* IANA */ 782 { 199, "nats-sefi-add", 0, no }, /* IANA */ 783 { 199, "csnatssefiadd", 0, no }, /* IANA */ 784 { 200, "iso-ir-151", 0, no }, /* IANA */ 785 { 200, "nc_nc00-10:81", 0, no }, /* IANA */ 786 { 200, "cuba", 0, no }, /* IANA */ 787 { 200, "iso646-cu", 0, no }, /* IANA */ 788 { 200, "csiso151cuba", 0, no }, /* IANA */ 789 { 201, "iso-ir-69", 0, no }, /* IANA */ 790 { 201, "nf_z_62-010", 0, no }, /* IANA */ 791 { 201, "iso646-fr", 0, no }, /* IANA */ 792 { 201, "fr", 0, no }, /* IANA */ 793 { 201, "csiso69french", 0, no }, /* IANA */ 794 { 202, "iso-ir-25", 0, no }, /* IANA */ 795 { 202, "nf_z_62-010_(1973)", 0, no }, /* IANA */ 796 { 202, "iso646-fr1", 0, no }, /* IANA */ 797 { 202, "csiso25french", 0, no }, /* IANA */ 798 { 203, "iso-ir-60", 20108, no }, /* IANA */ 799 { 203, "ns_4551-1", 20108, no }, /* IANA */ 800 { 203, "iso646-no", 20108, no }, /* IANA */ 801 { 203, "no", 20108, no }, /* IANA */ 802 { 203, "csiso60danishnorwegian", 20108, no }, /* IANA */ 803 { 203, "csiso60norwegian1", 20108, no }, /* IANA */ 804 { 203, "x-ia5-norwegian", 20108, no }, /* MICROSOFT */ 805 { 204, "iso-ir-61", 0, no }, /* IANA */ 806 { 204, "ns_4551-2", 0, no }, /* IANA */ 807 { 204, "iso646-no2", 0, no }, /* IANA */ 808 { 204, "no2", 0, no }, /* IANA */ 809 { 204, "csiso61norwegian2", 0, no }, /* IANA */ 810 { 205, "pc8-danish-norwegian", 0, no }, /* IANA */ 811 { 205, "cspc8danishnorwegian", 0, no }, /* IANA */ 812 { 206, "pc8-turkish", 0, no }, /* IANA */ 813 { 206, "cspc8turkish", 0, no }, /* IANA */ 814 { 207, "iso-ir-16", 0, no }, /* IANA */ 815 { 207, "pt", 0, no }, /* IANA */ 816 { 207, "iso646-pt", 0, no }, /* IANA */ 817 { 207, "csiso16portuguese", 0, no }, /* IANA */ 818 { 208, "iso-ir-84", 0, no }, /* IANA */ 819 { 208, "pt2", 0, no }, /* IANA */ 820 { 208, "iso646-pt2", 0, no }, /* IANA */ 821 { 208, "csiso84portuguese2", 0, no }, /* IANA */ 822 { 209, "ptcp154", 0, no }, /* IANA */ 823 { 209, "csptcp154", 0, no }, /* IANA */ 824 { 209, "pt154", 0, no }, /* IANA */ 825 { 209, "cp154", 0, no }, /* IANA */ 826 { 209, "cyrillic-asian", 0, no }, /* IANA */ 827 { 210, "scsu", 0, no }, /* IANA */ 828 { 211, "iso-ir-10", 20107, no }, /* IANA */ 829 { 211, "sen_850200_b", 20107, no }, /* IANA */ 830 { 211, "fi", 20107, no }, /* IANA */ 831 { 211, "iso646-fi", 20107, no }, /* IANA */ 832 { 211, "iso646-se", 20107, no }, /* IANA */ 833 { 211, "se", 20107, no }, /* IANA */ 834 { 211, "csiso10swedish", 20107, no }, /* IANA */ 835 { 211, "x-ia5-swedish", 20107, no }, /* MICROSOFT */ 836 { 212, "iso-ir-11", 0, no }, /* IANA */ 837 { 212, "sen_850200_c", 0, no }, /* IANA */ 838 { 212, "iso646-se2", 0, no }, /* IANA */ 839 { 212, "se2", 0, no }, /* IANA */ 840 { 212, "csiso11swedishfornames", 0, no }, /* IANA */ 841 { 213, "shift_jis", 932, no }, /* IANA */ 842 { 213, "ms_kanji", 932, no }, /* IANA */ 843 { 213, "csshiftjis", 932, no }, /* IANA */ 844 { 213, "shift-jis", 932, no }, /* MICROSOFT */ 845 { 213, "x-ms-cp932", 932, no }, /* MICROSOFT */ 846 { 213, "x-sjis", 932, no }, /* MICROSOFT */ 847 { 214, "iso-ir-128", 0, no }, /* IANA */ 848 { 214, "t.101-g2", 0, no }, /* IANA */ 849 { 214, "csiso128t101g2", 0, no }, /* IANA */ 850 { 215, "iso-ir-102", 0, no }, /* IANA */ 851 { 215, "t.61-7bit", 0, no }, /* IANA */ 852 { 215, "csiso102t617bit", 0, no }, /* IANA */ 853 { 216, "iso-ir-103", 0, no }, /* IANA */ 854 { 216, "t.61-8bit", 0, no }, /* IANA */ 855 { 216, "t.61", 0, no }, /* IANA */ 856 { 216, "csiso103t618bit", 0, no }, /* IANA */ 857 { 217, "tis-620", 874, no }, /* IANA */ 858 { 217, "windows-874", 874, no }, /* MICROSOFT */ 859 { 217, "iso-8859-11", 874, no }, /* MICROSOFT */ 860 { 217, "dos-874", 874, no }, /* MICROSOFT */ 861 { 218, "unicode-1-1", 0, no }, /* IANA */ 862 { 218, "csunicode11", 0, no }, /* IANA */ 863 { 219, "unicode-1-1-utf-7", 65000, yes }, /* IANA */ 864 { 219, "csunicode11utf7", 65000, yes }, /* IANA */ 865 { 219, "x-unicode-2-0-utf-7", 65000, yes }, /* MICROSOFT */ 866 { 220, "unknown-8bit", 0, no }, /* IANA */ 867 { 220, "csunknown8bit", 0, no }, /* IANA */ 868 { 221, "us-dk", 0, no }, /* IANA */ 869 { 221, "csusdk", 0, no }, /* IANA */ 870 { 222, "utf-16", 1200, no }, /* IANA */ 871 { 222, "unicode", 1200, no }, /* MICROSOFT */ 872 { 223, "utf-16be", 1201, no }, /* IANA */ 873 { 223, "unicodefffe", 1201, no }, /* MICROSOFT */ 874 { 224, "utf-16le", 1200, no }, /* IANA */ 875 { 224, "unicode", 1200, no }, /* MICROSOFT */ 876 { 225, "utf-32", 0, no }, /* IANA */ 877 { 226, "utf-32be", 0, no }, /* IANA */ 878 { 227, "utf-32le", 0, no }, /* IANA */ 879 { 228, "utf-7", 65000, yes }, /* IANA */ 880 { 228, "x-unicode-2-0-utf-7", 65000, yes }, /* MICROSOFT */ 881 { 229, "utf-8", 65001, no }, /* IANA */ 882 { 229, "unicode-2-0-utf-8", 65001, no }, /* MICROSOFT */ 883 { 229, "unicode-1-1-utf-8", 65001, no }, /* MICROSOFT */ 884 { 229, "x-unicode-2-0-utf-8", 65001, no }, /* MICROSOFT */ 885 { 230, "ventura-international", 0, no }, /* IANA */ 886 { 230, "csventurainternational", 0, no }, /* IANA */ 887 { 231, "ventura-math", 0, no }, /* IANA */ 888 { 231, "csventuramath", 0, no }, /* IANA */ 889 { 232, "ventura-us", 0, no }, /* IANA */ 890 { 232, "csventuraus", 0, no }, /* IANA */ 891 { 233, "iso-ir-70", 0, no }, /* IANA */ 892 { 233, "videotex-suppl", 0, no }, /* IANA */ 893 { 233, "csiso70videotexsupp1", 0, no }, /* IANA */ 894 { 234, "viqr", 0, no }, /* IANA */ 895 { 234, "csviqr", 0, no }, /* IANA */ 896 { 235, "viscii", 0, no }, /* IANA */ 897 { 235, "csviscii", 0, no }, /* IANA */ 898 { 236, "windows-1250", 1250, no }, /* IANA */ 899 { 236, "x-cp1250", 1250, no }, /* MICROSOFT */ 900 { 237, "windows-1251", 1251, no }, /* IANA */ 901 { 237, "x-cp1251", 1251, no }, /* MICROSOFT */ 902 { 238, "windows-1252", 1252, no }, /* IANA */ 903 { 238, "x-ansi", 1252, no }, /* MICROSOFT */ 904 { 239, "windows-1253", 1253, no }, /* IANA */ 905 { 240, "windows-1254", 1254, no }, /* IANA */ 906 { 241, "windows-1255", 1255, no }, /* IANA */ 907 { 242, "windows-1256", 1256, no }, /* IANA */ 908 { 242, "cp1256", 1256, no }, /* MICROSOFT */ 909 { 243, "windows-1257", 1257, no }, /* IANA */ 910 { 244, "windows-1258", 1258, no }, /* IANA */ 911 { 245, "windows-31j", 932, no }, /* IANA */ 912 { 245, "cswindows31j", 932, no }, /* IANA */ 913 { 245, "shift-jis", 932, no }, /* MICROSOFT */ 914 { 245, "x-ms-cp932", 932, no }, /* MICROSOFT */ 915 { 245, "x-sjis", 932, no }, /* MICROSOFT */ 916 { 246, "dos-720", 720, no }, /* MICROSOFT */ 917 { 247, "euc-cn", 51936, no }, /* MICROSOFT */ 918 { 248, "ibm737", 737, no }, /* MICROSOFT */ 919 { 249, "johab", 1361, no }, /* MICROSOFT */ 920 { 250, "x-chinese-cns", 20000, no }, /* MICROSOFT */ 921 { 251, "x-chinese-eten", 20002, no }, /* MICROSOFT */ 922 { 252, "x-ebcdic-cyrillicserbianbulgarian", 21025, no }, /* MICROSOFT */ 923 { 253, "x-ebcdic-greekmodern", 875, no }, /* MICROSOFT */ 924 { 254, "x-ebcdic-japaneseandjapaneselatin", 50939, no }, /* MICROSOFT */ 925 { 255, "x-ebcdic-japaneseandkana", 50930, no }, /* MICROSOFT */ 926 { 256, "x-ebcdic-japaneseanduscanada", 50931, no }, /* MICROSOFT */ 927 { 257, "x-ebcdic-koreanandkoreanextended", 50933, no }, /* MICROSOFT */ 928 { 258, "x-ebcdic-koreanextended", 20833, no }, /* MICROSOFT */ 929 { 259, "x-ebcdic-simplifiedchinese", 50935, no }, /* MICROSOFT */ 930 { 260, "x-ebcdic-traditionalchinese", 50937, no }, /* MICROSOFT */ 931 { 261, "x-euc-cn", 51936, no }, /* MICROSOFT */ 932 { 262, "x-europa", 29001, no }, /* MICROSOFT */ 933 { 263, "x-iscii-as", 57006, no }, /* MICROSOFT */ 934 { 264, "x-iscii-be", 57003, no }, /* MICROSOFT */ 935 { 265, "x-iscii-de", 57002, no }, /* MICROSOFT */ 936 { 266, "x-iscii-gu", 57010, no }, /* MICROSOFT */ 937 { 267, "x-iscii-ka", 57008, no }, /* MICROSOFT */ 938 { 268, "x-iscii-ma", 57009, no }, /* MICROSOFT */ 939 { 269, "x-iscii-or", 57007, no }, /* MICROSOFT */ 940 { 270, "x-iscii-pa", 57011, no }, /* MICROSOFT */ 941 { 271, "x-iscii-ta", 57004, no }, /* MICROSOFT */ 942 { 272, "x-iscii-te", 57005, no }, /* MICROSOFT */ 943 { 273, "x-mac-arabic", 10004, no }, /* MICROSOFT */ 944 { 274, "x-mac-ce", 10029, no }, /* MICROSOFT */ 945 { 275, "x-mac-chinesesimp", 10008, no }, /* MICROSOFT */ 946 { 276, "x-mac-chinesetrad", 10002, no }, /* MICROSOFT */ 947 { 277, "x-mac-cyrillic", 10007, no }, /* MICROSOFT */ 948 { 278, "x-mac-greek", 10006, no }, /* MICROSOFT */ 949 { 279, "x-mac-hebrew", 10005, no }, /* MICROSOFT */ 950 { 280, "x-mac-icelandic", 10079, no }, /* MICROSOFT */ 951 { 281, "x-mac-japanese", 10001, no }, /* MICROSOFT */ 952 { 282, "x-mac-korean", 10003, no }, /* MICROSOFT */ 953 { 283, "x-mac-turkish", 10081, no }, /* MICROSOFT */ 954 955 /* final entry */ 956 { 0, NULL, 0, no } 957}; 958 959uint TY_(GetEncodingIdFromName)(ctmbstr name) 960{ 961 uint i; 962 963 for (i = 0; charsetInfo[i].id; ++i) 964 if (TY_(tmbstrcasecmp)(name, charsetInfo[i].charset) == 0) 965 return charsetInfo[i].id; 966 967 return 0; 968} 969 970uint TY_(GetEncodingIdFromCodePage)(uint cp) 971{ 972 uint i; 973 974 for (i = 0; charsetInfo[i].id; ++i) 975 if (cp == charsetInfo[i].codepage) 976 return charsetInfo[i].id; 977 978 return 0; 979} 980 981uint TY_(GetEncodingCodePageFromName)(ctmbstr name) 982{ 983 uint i; 984 985 for (i = 0; charsetInfo[i].id; ++i) 986 if (TY_(tmbstrcasecmp)(name, charsetInfo[i].charset) == 0) 987 return charsetInfo[i].codepage; 988 989 return 0; 990} 991 992uint TY_(GetEncodingCodePageFromId)(uint id) 993{ 994 uint i; 995 996 for (i = 0; charsetInfo[i].id; ++i) 997 if (id == charsetInfo[i].id) 998 return charsetInfo[i].codepage; 999 1000 return 0; 1001} 1002 1003ctmbstr TY_(GetEncodingNameFromId)(uint id) 1004{ 1005 uint i; 1006 1007 for (i = 0; charsetInfo[i].id; ++i) 1008 if (id == charsetInfo[i].id) 1009 return charsetInfo[i].charset; 1010 1011 return NULL; 1012} 1013 1014ctmbstr TY_(GetEncodingNameFromCodePage)(uint cp) 1015{ 1016 uint i; 1017 1018 for (i = 0; charsetInfo[i].id; ++i) 1019 if (cp == charsetInfo[i].codepage) 1020 return charsetInfo[i].charset; 1021 1022 return NULL; 1023} 1024 1025/* 1026 * local variables: 1027 * mode: c 1028 * indent-tabs-mode: nil 1029 * c-basic-offset: 4 1030 * eval: (c-set-offset 'substatement-open 0) 1031 * end: 1032 */ 1033