charset_alias.h

00001 /* GENERATED CODE -- DO NOT EDIT                     -*- C -*-
00002  * Use the following command to regenerate this file:
00003  *     awk -f ../build/gen_aliases.awk \
00004  *            ../ccs/charset.aliases \
00005  *            ../ces/charset.aliases > charset_alias.h
00006  */
00007 #ifndef API_HAVE_CHARSET_ALIAS_TABLE
00008 #define API_HAVE_CHARSET_ALIAS_TABLE
00009 
00010 #include <stdlib.h>
00011 #include <string.h>
00012 
00013 /* This is a sorted table of alias -> true name mappings. */
00014 static struct charset_alias {
00015     const char *name;
00016     const char *target;
00017 } const charset_alias_list[] = {
00018     {"424", "cp424"},
00019     {"437", "cp437"},
00020     {"850", "cp850"},
00021     {"851", "cp851"},
00022     {"852", "cp852"},
00023     {"855", "cp855"},
00024     {"857", "cp857"},
00025     {"860", "cp860"},
00026     {"861", "cp861"},
00027     {"862", "cp862"},
00028     {"863", "cp863"},
00029     {"865", "cp865"},
00030     {"866", "cp866"},
00031     {"869", "cp869"},
00032     {"904", "cp904"},
00033     {"ansi_x3.110-1983", "iso-ir-99"},
00034     {"ansi_x3.4-1968", "us-ascii"},
00035     {"ansi_x3.4-1986", "us-ascii"},
00036     {"arabic", "iso-8859-6"},
00037     {"arabic7", "iso-ir-89"},
00038     {"ascii", "us-ascii"},
00039     {"asmo-708", "iso-8859-6"},
00040     {"asmo_449", "iso-ir-89"},
00041     {"bs_4730", "iso-ir-4"},
00042     {"bs_viewdata", "iso-ir-47"},
00043     {"ca", "iso-ir-121"},
00044     {"chinese", "gb_2312-80"},
00045     {"cp-ar", "cp868"},
00046     {"cp-gr", "cp869"},
00047     {"cp-is", "cp861"},
00048     {"cp037_ibmuscanada", "cp037"},
00049     {"cp10000_macroman", "cp10000"},
00050     {"cp10006_macgreek", "cp10006"},
00051     {"cp10007_maccyrillic", "cp10007"},
00052     {"cp10029_maclatin2", "cp10029"},
00053     {"cp10079_macicelandic", "cp10079"},
00054     {"cp10081_macturkish", "cp10081"},
00055     {"cp1250", "windows-1250"},
00056     {"cp1251", "windows-1251"},
00057     {"cp1252", "windows-1252"},
00058     {"cp1253", "windows-1253"},
00059     {"cp1254", "windows-1254"},
00060     {"cp1255", "windows-1255"},
00061     {"cp1256", "windows-1256"},
00062     {"cp1257", "windows-1257"},
00063     {"cp1258", "windows-1258"},
00064     {"cp367", "us-ascii"},
00065     {"cp737latingreek", "cp737"},
00066     {"cp819", "iso-8859-1"},
00067     {"cp856_hebrew_pc", "cp856"},
00068     {"cp875_ibmgreek", "cp875"},
00069     {"csa7-1", "iso-ir-121"},
00070     {"csa7-2", "iso-ir-122"},
00071     {"csa_t500-1983", "iso-ir-99"},
00072     {"csa_z243.4-1985-1", "iso-ir-121"},
00073     {"csa_z243.4-1985-2", "iso-ir-122"},
00074     {"csa_z243.4-1985-gr", "iso-ir-123"},
00075     {"csascii", "us-ascii"},
00076     {"csbig5", "big5"},
00077     {"cshalfwidthkatakana", "jis_x0201"},
00078     {"csibm1026", "cp1026"},
00079     {"csibm424", "cp424"},
00080     {"csibm500", "cp500"},
00081     {"csibm855", "cp855"},
00082     {"csibm857", "cp857"},
00083     {"csibm860", "cp860"},
00084     {"csibm861", "cp861"},
00085     {"csibm863", "cp863"},
00086     {"csibm864", "cp864"},
00087     {"csibm865", "cp865"},
00088     {"csibm866", "cp866"},
00089     {"csibm869", "cp869"},
00090     {"csiso2022jp", "iso-2022-jp"},
00091     {"csiso2022jp2", "iso-2022-jp-2"},
00092     {"csisolatin1", "iso-8859-1"},
00093     {"csisolatin2", "iso-8859-2"},
00094     {"csisolatin3", "iso-8859-3"},
00095     {"csisolatin4", "iso-8859-4"},
00096     {"csisolatin5", "iso-8859-9"},
00097     {"csisolatin6", "iso-8859-10"},
00098     {"csisolatinarabic", "iso-8859-6"},
00099     {"csisolatincyrillic", "iso-8859-5"},
00100     {"csisolatingreek", "iso-8859-7"},
00101     {"csisolatinhebrew", "iso-8859-8"},
00102     {"cskoi8r", "koi8-r"},
00103     {"csn_369103", "iso-ir-139"},
00104     {"cspc775baltic", "cp775"},
00105     {"cspc850multilingual", "cp850"},
00106     {"cspc862latinhebrew", "cp862"},
00107     {"cspc8codepage437", "cp437"},
00108     {"cspcp852", "cp852"},
00109     {"csshiftjis", "shift_jis"},
00110     {"cuba", "iso-ir-151"},
00111     {"cyrillic", "iso-8859-5"},
00112     {"de", "iso-ir-21"},
00113     {"dec", "dec-mcs"},
00114     {"din_66003", "iso-ir-21"},
00115     {"dk", "iso646-dk"},
00116     {"ds2089", "iso646-dk"},
00117     {"ds_2089", "iso646-dk"},
00118     {"e13b", "iso-ir-98"},
00119     {"ebcdic-be", "cp274"},
00120     {"ebcdic-br", "cp275"},
00121     {"ebcdic-cp-ar1", "cp420"},
00122     {"ebcdic-cp-ar2", "cp918"},
00123     {"ebcdic-cp-be", "cp500"},
00124     {"ebcdic-cp-ca", "cp037"},
00125     {"ebcdic-cp-ch", "cp500"},
00126     {"ebcdic-cp-dk", "cp277"},
00127     {"ebcdic-cp-es", "cp284"},
00128     {"ebcdic-cp-fi", "cp278"},
00129     {"ebcdic-cp-fr", "cp297"},
00130     {"ebcdic-cp-gb", "cp285"},
00131     {"ebcdic-cp-gr", "cp423"},
00132     {"ebcdic-cp-he", "cp424"},
00133     {"ebcdic-cp-is", "cp871"},
00134     {"ebcdic-cp-it", "cp280"},
00135     {"ebcdic-cp-nl", "cp037"},
00136     {"ebcdic-cp-no", "cp277"},
00137     {"ebcdic-cp-roece", "cp870"},
00138     {"ebcdic-cp-se", "cp278"},
00139     {"ebcdic-cp-tr", "cp905"},
00140     {"ebcdic-cp-us", "cp037"},
00141     {"ebcdic-cp-wt", "cp037"},
00142     {"ebcdic-cp-yu", "cp870"},
00143     {"ebcdic-cyrillic", "cp880"},
00144     {"ebcdic-int", "cp038"},
00145     {"ebcdic-jp-e", "cp281"},
00146     {"ebcdic-jp-kana", "cp290"},
00147     {"ecma-114", "iso-8859-6"},
00148     {"ecma-118", "iso-8859-7"},
00149     {"ecma-cyrillic", "iso-ir-111"},
00150     {"elot_928", "iso-8859-7"},
00151     {"es", "iso-ir-17"},
00152     {"es2", "iso-ir-85"},
00153     {"fi", "iso-ir-10"},
00154     {"fr", "iso-ir-69"},
00155     {"gb", "iso-ir-4"},
00156     {"gb_1988-80", "iso-ir-57"},
00157     {"gost_19768-74", "iso-ir-153"},
00158     {"greek", "iso-8859-7"},
00159     {"greek-ccitt", "iso-ir-150"},
00160     {"greek7", "iso-ir-88"},
00161     {"greek7-old", "iso-ir-18"},
00162     {"greek8", "iso-8859-7"},
00163     {"hebrew", "iso-8859-8"},
00164     {"hu", "iso-ir-86"},
00165     {"ibm037", "cp037"},
00166     {"ibm038", "cp038"},
00167     {"ibm1026", "cp1026"},
00168     {"ibm273", "cp273"},
00169     {"ibm274", "cp274"},
00170     {"ibm275", "cp275"},
00171     {"ibm277", "cp277"},
00172     {"ibm278", "cp278"},
00173     {"ibm280", "cp280"},
00174     {"ibm281", "cp281"},
00175     {"ibm284", "cp284"},
00176     {"ibm285", "cp285"},
00177     {"ibm290", "cp290"},
00178     {"ibm297", "cp297"},
00179     {"ibm367", "us-ascii"},
00180     {"ibm420", "cp420"},
00181     {"ibm423", "cp423"},
00182     {"ibm424", "cp424"},
00183     {"ibm437", "cp437"},
00184     {"ibm500", "cp500"},
00185     {"ibm737", "cp737"},
00186     {"ibm775", "cp775"},
00187     {"ibm819", "iso-8859-1"},
00188     {"ibm850", "cp850"},
00189     {"ibm851", "cp851"},
00190     {"ibm852", "cp852"},
00191     {"ibm855", "cp855"},
00192     {"ibm857", "cp857"},
00193     {"ibm860", "cp860"},
00194     {"ibm861", "cp861"},
00195     {"ibm862", "cp862"},
00196     {"ibm863", "cp863"},
00197     {"ibm864", "cp864"},
00198     {"ibm865", "cp865"},
00199     {"ibm866", "cp866"},
00200     {"ibm868", "cp868"},
00201     {"ibm869", "cp869"},
00202     {"ibm870", "cp870"},
00203     {"ibm871", "cp871"},
00204     {"ibm874", "cp874"},
00205     {"ibm880", "cp880"},
00206     {"ibm891", "cp891"},
00207     {"ibm903", "cp903"},
00208     {"ibm904", "cp904"},
00209     {"ibm905", "cp905"},
00210     {"ibm918", "cp918"},
00211     {"iec_p27-1", "iso-ir-143"},
00212     {"inis", "iso-ir-49"},
00213     {"inis-8", "iso-ir-50"},
00214     {"inis-cyrillic", "iso-ir-51"},
00215     {"irv", "iso-ir-2"},
00216     {"iso-ir-100", "iso-8859-1"},
00217     {"iso-ir-101", "iso-8859-2"},
00218     {"iso-ir-109", "iso-8859-3"},
00219     {"iso-ir-110", "iso-8859-4"},
00220     {"iso-ir-126", "iso-8859-7"},
00221     {"iso-ir-127", "iso-8859-6"},
00222     {"iso-ir-138", "iso-8859-8"},
00223     {"iso-ir-144", "iso-8859-5"},
00224     {"iso-ir-148", "iso-8859-9"},
00225     {"iso-ir-157", "iso-8859-10"},
00226     {"iso-ir-58", "gb_2312-80"},
00227     {"iso-ir-87", "jis_x0208-1983"},
00228     {"iso646-ca", "iso-ir-121"},
00229     {"iso646-ca2", "iso-ir-122"},
00230     {"iso646-cu", "iso-ir-151"},
00231     {"iso646-de", "iso-ir-21"},
00232     {"iso646-es", "iso-ir-17"},
00233     {"iso646-es2", "iso-ir-85"},
00234     {"iso646-fi", "iso-ir-10"},
00235     {"iso646-fr", "iso-ir-69"},
00236     {"iso646-fr1", "iso-ir-25"},
00237     {"iso646-gb", "iso-ir-4"},
00238     {"iso646-hu", "iso-ir-86"},
00239     {"iso646-it", "iso-ir-15"},
00240     {"iso646-jp", "iso-ir-14"},
00241     {"iso646-jp-ocr-a", "iso-ir-91"},
00242     {"iso646-jp-ocr-b", "iso-ir-92"},
00243     {"iso646-no", "iso-ir-60"},
00244     {"iso646-no2", "iso-ir-61"},
00245     {"iso646-pt", "iso-ir-16"},
00246     {"iso646-pt2", "iso-ir-84"},
00247     {"iso646-se", "iso-ir-10"},
00248     {"iso646-se2", "iso-ir-11"},
00249     {"iso646-us", "us-ascii"},
00250     {"iso646-yu", "iso-ir-141"},
00251     {"iso_10367-box", "iso-ir-155"},
00252     {"iso_2033-1983", "iso-ir-98"},
00253     {"iso_5427", "iso-ir-37"},
00254     {"iso_5427:1981", "iso-ir-54"},
00255     {"iso_5428:1980", "iso-ir-55"},
00256     {"iso_646.irv:1983", "iso-ir-2"},
00257     {"iso_646.irv:1991", "us-ascii"},
00258     {"iso_6937-2-25", "iso-ir-152"},
00259     {"iso_6937-2-add", "iso-ir-142"},
00260     {"iso_8859-1", "iso-8859-1"},
00261     {"iso_8859-10", "iso-8859-10"},
00262     {"iso_8859-10:1992", "iso-8859-10"},
00263     {"iso_8859-13", "iso-8859-13"},
00264     {"iso_8859-13:1998", "iso-8859-13"},
00265     {"iso_8859-14", "iso-8859-14"},
00266     {"iso_8859-14:1998", "iso-8859-14"},
00267     {"iso_8859-15", "iso-8859-15"},
00268     {"iso_8859-15:1998", "iso-8859-15"},
00269     {"iso_8859-1:1987", "iso-8859-1"},
00270     {"iso_8859-2", "iso-8859-2"},
00271     {"iso_8859-2:1987", "iso-8859-2"},
00272     {"iso_8859-3", "iso-8859-3"},
00273     {"iso_8859-3:1988", "iso-8859-3"},
00274     {"iso_8859-4", "iso-8859-4"},
00275     {"iso_8859-4:1988", "iso-8859-4"},
00276     {"iso_8859-5", "iso-8859-5"},
00277     {"iso_8859-5:1988", "iso-8859-5"},
00278     {"iso_8859-6", "iso-8859-6"},
00279     {"iso_8859-6:1987", "iso-8859-6"},
00280     {"iso_8859-7", "iso-8859-7"},
00281     {"iso_8859-7:1987", "iso-8859-7"},
00282     {"iso_8859-8", "iso-8859-8"},
00283     {"iso_8859-8:1988", "iso-8859-8"},
00284     {"iso_8859-9", "iso-8859-9"},
00285     {"iso_8859-9:1989", "iso-8859-9"},
00286     {"iso_8859-supp", "iso-ir-154"},
00287     {"iso_9036", "iso-ir-89"},
00288     {"it", "iso-ir-15"},
00289     {"jis_c6220-1969", "iso-ir-13"},
00290     {"jis_c6220-1969-jp", "iso-ir-13"},
00291     {"jis_c6220-1969-ro", "iso-ir-14"},
00292     {"jis_c6226-1983", "jis_x0208-1983"},
00293     {"jis_c6229-1984-a", "iso-ir-91"},
00294     {"jis_c6229-1984-b", "iso-ir-92"},
00295     {"jis_c6229-1984-b-add", "iso-ir-93"},
00296     {"jis_c6229-1984-hand", "iso-ir-94"},
00297     {"jis_c6229-1984-hand-add", "iso-ir-95"},
00298     {"jis_c6229-1984-kana", "iso-ir-96"},
00299     {"jp", "iso-ir-14"},
00300     {"jp-ocr-a", "iso-ir-91"},
00301     {"jp-ocr-b", "iso-ir-92"},
00302     {"jp-ocr-b-add", "iso-ir-93"},
00303     {"jp-ocr-hand", "iso-ir-94"},
00304     {"jp-ocr-hand-add", "iso-ir-95"},
00305     {"js", "iso-ir-141"},
00306     {"jus_i.b1.002", "iso-ir-141"},
00307     {"jus_i.b1.003-mac", "iso-ir-147"},
00308     {"jus_i.b1.003-serb", "iso-ir-146"},
00309     {"katakana", "iso-ir-13"},
00310     {"ks_x_1001", "ksx1001"},
00311     {"ksc5636", "iso646-kr"},
00312     {"l1", "iso-8859-1"},
00313     {"l2", "iso-8859-2"},
00314     {"l3", "iso-8859-3"},
00315     {"l4", "iso-8859-4"},
00316     {"l5", "iso-8859-9"},
00317     {"l6", "iso-8859-10"},
00318     {"lap", "iso-ir-158"},
00319     {"latin-greek", "iso-ir-19"},
00320     {"latin-greek-1", "iso-ir-27"},
00321     {"latin-lap", "iso-ir-158"},
00322     {"latin1", "iso-8859-1"},
00323     {"latin1-2-5", "iso-ir-154"},
00324     {"latin2", "iso-8859-2"},
00325     {"latin3", "iso-8859-3"},
00326     {"latin4", "iso-8859-4"},
00327     {"latin5", "iso-8859-9"},
00328     {"latin6", "iso-8859-10"},
00329     {"mac", "macintosh"},
00330     {"maccenteuro", "mac-ce"},
00331     {"maccroatian", "mac-croatian"},
00332     {"maccyrillic", "mac-cyrillic"},
00333     {"macdingbats", "mac-dingbats"},
00334     {"macedonian", "iso-ir-147"},
00335     {"macgreek", "mac-greek"},
00336     {"maciceland", "mac-iceland"},
00337     {"macroman", "mac-roman"},
00338     {"macromania", "mac-romania"},
00339     {"macthai", "mac-thai"},
00340     {"macturkish", "mac-turkish"},
00341     {"macukraine", "mac-ukraine"},
00342     {"ms_kanji", "shift_jis"},
00343     {"msz_7795.3", "iso-ir-86"},
00344     {"naplps", "iso-ir-99"},
00345     {"nats-dano", "iso-ir-9-1"},
00346     {"nats-dano-add", "iso-ir-9-2"},
00347     {"nats-sefi", "iso-ir-8-1"},
00348     {"nats-sefi-add", "iso-ir-8-2"},
00349     {"nc_nc00-10:81", "iso-ir-151"},
00350     {"nf_z_62-010", "iso-ir-69"},
00351     {"nf_z_62-010_(1973)", "iso-ir-25"},
00352     {"no", "iso-ir-60"},
00353     {"no2", "iso-ir-61"},
00354     {"ns_4551-1", "iso-ir-60"},
00355     {"ns_4551-2", "iso-ir-61"},
00356     {"pt", "iso-ir-16"},
00357     {"pt2", "iso-ir-84"},
00358     {"r8", "hp-roman8"},
00359     {"roman8", "hp-roman8"},
00360     {"se", "iso-ir-10"},
00361     {"se2", "iso-ir-11"},
00362     {"sen_850200_b", "iso-ir-10"},
00363     {"sen_850200_c", "iso-ir-11"},
00364     {"serbian", "iso-ir-146"},
00365     {"st_sev_358-88", "iso-ir-153"},
00366     {"t.101-g2", "iso-ir-128"},
00367     {"t.61", "iso-ir-103"},
00368     {"t.61-7bit", "iso-ir-102"},
00369     {"t.61-8bit", "iso-ir-103"},
00370     {"uk", "iso-ir-4"},
00371     {"us", "us-ascii"},
00372     {"utf-7", "unicode-1-1-utf-7"},
00373     {"videotex-suppl", "iso-ir-70"},
00374     {"x0201", "jis_x0201"},
00375     {"x0201-7", "iso-ir-13"},
00376     {"x0208", "jis_x0208-1983"},
00377     {"yu", "iso-ir-141"},
00378     {NULL, NULL} };
00379 
00380 static const size_t charset_alias_count =
00381     sizeof(charset_alias_list)/sizeof(charset_alias_list[0]) - 1;
00382 
00383 /* Compare two aliases. */
00384 static int charset_alias_compare (const void *u, const void *v)
00385 {
00386     const struct charset_alias *const a = u;
00387     const struct charset_alias *const b = v;
00388     return strcmp(a->name, b->name);
00389 }
00390 
00391 /* Look up an alias in the sorted table and return its name,
00392    or NULL if it's not in the table. */
00393 static const char *charset_alias_find (const char *name)
00394 {
00395     struct charset_alias key;
00396     struct charset_alias *alias;
00397 #if 'A' == '\xC1' /* if EBCDIC host */
00398     /* The table is sorted in ASCII collation order, not in EBCDIC order.
00399      * At the first access, we sort it automatically
00400      * Criterion for the 1st time initialization is the fact that the
00401      * 1st name in the list starts with a digit (in ASCII, numbers
00402      * have a lower ordinal value than alphabetic characters; while
00403      * in EBCDIC, their ordinal value is higher)
00404      */
00405     if (isdigit(charset_alias_list[0].name[0]))  {
00406         qsort((void *)charset_alias_list, charset_alias_count,
00407               sizeof(charset_alias_list[0]),
00408               charset_alias_compare);
00409     }
00410 #endif
00411     key.name = name;
00412     alias = bsearch(&key, charset_alias_list, charset_alias_count,
00413                     sizeof(charset_alias_list[0]),
00414                     charset_alias_compare);
00415     if (alias)
00416         return alias->target;
00417     else
00418         return NULL;
00419 }
00420 
00421 #endif /* API_HAVE_CHARSET_ALIAS_TABLE */

Generated on Wed Dec 27 11:20:19 2006 for Apache Portable Runtime Iconv Library by  doxygen 1.5.1