blob: 16e119011963d6fad8a2620be1f25ea5513ea8e8 [file] [log] [blame]
/* GENERATED CODE -- DO NOT EDIT -*- C -*-
* Use the following command to regenerate this file:
* awk -f ../build/gen_aliases.awk \
* ../ccs/charset.aliases \
* ../ces/charset.aliases > charset_alias.h
*/
#ifndef API_HAVE_CHARSET_ALIAS_TABLE
#define API_HAVE_CHARSET_ALIAS_TABLE
#include <stdlib.h>
#include <string.h>
/* This is a sorted table of alias -> true name mappings. */
static struct charset_alias {
const char *name;
const char *target;
} const charset_alias_list[] = {
{"424", "cp424"},
{"437", "cp437"},
{"850", "cp850"},
{"851", "cp851"},
{"852", "cp852"},
{"855", "cp855"},
{"857", "cp857"},
{"860", "cp860"},
{"861", "cp861"},
{"862", "cp862"},
{"863", "cp863"},
{"865", "cp865"},
{"866", "cp866"},
{"869", "cp869"},
{"904", "cp904"},
{"ansi_x3.110-1983", "iso-ir-99"},
{"ansi_x3.4-1968", "us-ascii"},
{"ansi_x3.4-1986", "us-ascii"},
{"arabic", "iso-8859-6"},
{"arabic7", "iso-ir-89"},
{"ascii", "us-ascii"},
{"asmo-708", "iso-8859-6"},
{"asmo_449", "iso-ir-89"},
{"bs_4730", "iso-ir-4"},
{"bs_viewdata", "iso-ir-47"},
{"ca", "iso-ir-121"},
{"chinese", "gb_2312-80"},
{"cp-ar", "cp868"},
{"cp-gr", "cp869"},
{"cp-is", "cp861"},
{"cp037_ibmuscanada", "cp037"},
{"cp10000_macroman", "cp10000"},
{"cp10006_macgreek", "cp10006"},
{"cp10007_maccyrillic", "cp10007"},
{"cp10029_maclatin2", "cp10029"},
{"cp10079_macicelandic", "cp10079"},
{"cp10081_macturkish", "cp10081"},
{"cp1250", "windows-1250"},
{"cp1251", "windows-1251"},
{"cp1252", "windows-1252"},
{"cp1253", "windows-1253"},
{"cp1254", "windows-1254"},
{"cp1255", "windows-1255"},
{"cp1256", "windows-1256"},
{"cp1257", "windows-1257"},
{"cp1258", "windows-1258"},
{"cp367", "us-ascii"},
{"cp737latingreek", "cp737"},
{"cp819", "iso-8859-1"},
{"cp856_hebrew_pc", "cp856"},
{"cp875_ibmgreek", "cp875"},
{"csa7-1", "iso-ir-121"},
{"csa7-2", "iso-ir-122"},
{"csa_t500-1983", "iso-ir-99"},
{"csa_z243.4-1985-1", "iso-ir-121"},
{"csa_z243.4-1985-2", "iso-ir-122"},
{"csa_z243.4-1985-gr", "iso-ir-123"},
{"csascii", "us-ascii"},
{"csbig5", "big5"},
{"cshalfwidthkatakana", "jis_x0201"},
{"csibm1026", "cp1026"},
{"csibm424", "cp424"},
{"csibm500", "cp500"},
{"csibm855", "cp855"},
{"csibm857", "cp857"},
{"csibm860", "cp860"},
{"csibm861", "cp861"},
{"csibm863", "cp863"},
{"csibm864", "cp864"},
{"csibm865", "cp865"},
{"csibm866", "cp866"},
{"csibm869", "cp869"},
{"csiso2022jp", "iso-2022-jp"},
{"csiso2022jp2", "iso-2022-jp-2"},
{"csisolatin1", "iso-8859-1"},
{"csisolatin2", "iso-8859-2"},
{"csisolatin3", "iso-8859-3"},
{"csisolatin4", "iso-8859-4"},
{"csisolatin5", "iso-8859-9"},
{"csisolatin6", "iso-8859-10"},
{"csisolatinarabic", "iso-8859-6"},
{"csisolatincyrillic", "iso-8859-5"},
{"csisolatingreek", "iso-8859-7"},
{"csisolatinhebrew", "iso-8859-8"},
{"cskoi8r", "koi8-r"},
{"csn_369103", "iso-ir-139"},
{"cspc775baltic", "cp775"},
{"cspc850multilingual", "cp850"},
{"cspc862latinhebrew", "cp862"},
{"cspc8codepage437", "cp437"},
{"cspcp852", "cp852"},
{"csshiftjis", "shift_jis"},
{"cuba", "iso-ir-151"},
{"cyrillic", "iso-8859-5"},
{"de", "iso-ir-21"},
{"dec", "dec-mcs"},
{"din_66003", "iso-ir-21"},
{"dk", "iso646-dk"},
{"ds2089", "iso646-dk"},
{"ds_2089", "iso646-dk"},
{"e13b", "iso-ir-98"},
{"ebcdic-be", "cp274"},
{"ebcdic-br", "cp275"},
{"ebcdic-cp-ar1", "cp420"},
{"ebcdic-cp-ar2", "cp918"},
{"ebcdic-cp-be", "cp500"},
{"ebcdic-cp-ca", "cp037"},
{"ebcdic-cp-ch", "cp500"},
{"ebcdic-cp-dk", "cp277"},
{"ebcdic-cp-es", "cp284"},
{"ebcdic-cp-fi", "cp278"},
{"ebcdic-cp-fr", "cp297"},
{"ebcdic-cp-gb", "cp285"},
{"ebcdic-cp-gr", "cp423"},
{"ebcdic-cp-he", "cp424"},
{"ebcdic-cp-is", "cp871"},
{"ebcdic-cp-it", "cp280"},
{"ebcdic-cp-nl", "cp037"},
{"ebcdic-cp-no", "cp277"},
{"ebcdic-cp-roece", "cp870"},
{"ebcdic-cp-se", "cp278"},
{"ebcdic-cp-tr", "cp905"},
{"ebcdic-cp-us", "cp037"},
{"ebcdic-cp-wt", "cp037"},
{"ebcdic-cp-yu", "cp870"},
{"ebcdic-cyrillic", "cp880"},
{"ebcdic-int", "cp038"},
{"ebcdic-jp-e", "cp281"},
{"ebcdic-jp-kana", "cp290"},
{"ecma-114", "iso-8859-6"},
{"ecma-118", "iso-8859-7"},
{"ecma-cyrillic", "iso-ir-111"},
{"elot_928", "iso-8859-7"},
{"es", "iso-ir-17"},
{"es2", "iso-ir-85"},
{"fi", "iso-ir-10"},
{"fr", "iso-ir-69"},
{"gb", "iso-ir-4"},
{"gb_1988-80", "iso-ir-57"},
{"gost_19768-74", "iso-ir-153"},
{"greek", "iso-8859-7"},
{"greek-ccitt", "iso-ir-150"},
{"greek7", "iso-ir-88"},
{"greek7-old", "iso-ir-18"},
{"greek8", "iso-8859-7"},
{"hebrew", "iso-8859-8"},
{"hu", "iso-ir-86"},
{"ibm037", "cp037"},
{"ibm038", "cp038"},
{"ibm1026", "cp1026"},
{"ibm273", "cp273"},
{"ibm274", "cp274"},
{"ibm275", "cp275"},
{"ibm277", "cp277"},
{"ibm278", "cp278"},
{"ibm280", "cp280"},
{"ibm281", "cp281"},
{"ibm284", "cp284"},
{"ibm285", "cp285"},
{"ibm290", "cp290"},
{"ibm297", "cp297"},
{"ibm367", "us-ascii"},
{"ibm420", "cp420"},
{"ibm423", "cp423"},
{"ibm424", "cp424"},
{"ibm437", "cp437"},
{"ibm500", "cp500"},
{"ibm737", "cp737"},
{"ibm775", "cp775"},
{"ibm819", "iso-8859-1"},
{"ibm850", "cp850"},
{"ibm851", "cp851"},
{"ibm852", "cp852"},
{"ibm855", "cp855"},
{"ibm857", "cp857"},
{"ibm860", "cp860"},
{"ibm861", "cp861"},
{"ibm862", "cp862"},
{"ibm863", "cp863"},
{"ibm864", "cp864"},
{"ibm865", "cp865"},
{"ibm866", "cp866"},
{"ibm868", "cp868"},
{"ibm869", "cp869"},
{"ibm870", "cp870"},
{"ibm871", "cp871"},
{"ibm874", "cp874"},
{"ibm880", "cp880"},
{"ibm891", "cp891"},
{"ibm903", "cp903"},
{"ibm904", "cp904"},
{"ibm905", "cp905"},
{"ibm918", "cp918"},
{"iec_p27-1", "iso-ir-143"},
{"inis", "iso-ir-49"},
{"inis-8", "iso-ir-50"},
{"inis-cyrillic", "iso-ir-51"},
{"irv", "iso-ir-2"},
{"iso-ir-100", "iso-8859-1"},
{"iso-ir-101", "iso-8859-2"},
{"iso-ir-109", "iso-8859-3"},
{"iso-ir-110", "iso-8859-4"},
{"iso-ir-126", "iso-8859-7"},
{"iso-ir-127", "iso-8859-6"},
{"iso-ir-138", "iso-8859-8"},
{"iso-ir-144", "iso-8859-5"},
{"iso-ir-148", "iso-8859-9"},
{"iso-ir-157", "iso-8859-10"},
{"iso-ir-58", "gb_2312-80"},
{"iso-ir-87", "jis_x0208-1983"},
{"iso646-ca", "iso-ir-121"},
{"iso646-ca2", "iso-ir-122"},
{"iso646-cu", "iso-ir-151"},
{"iso646-de", "iso-ir-21"},
{"iso646-es", "iso-ir-17"},
{"iso646-es2", "iso-ir-85"},
{"iso646-fi", "iso-ir-10"},
{"iso646-fr", "iso-ir-69"},
{"iso646-fr1", "iso-ir-25"},
{"iso646-gb", "iso-ir-4"},
{"iso646-hu", "iso-ir-86"},
{"iso646-it", "iso-ir-15"},
{"iso646-jp", "iso-ir-14"},
{"iso646-jp-ocr-a", "iso-ir-91"},
{"iso646-jp-ocr-b", "iso-ir-92"},
{"iso646-no", "iso-ir-60"},
{"iso646-no2", "iso-ir-61"},
{"iso646-pt", "iso-ir-16"},
{"iso646-pt2", "iso-ir-84"},
{"iso646-se", "iso-ir-10"},
{"iso646-se2", "iso-ir-11"},
{"iso646-us", "us-ascii"},
{"iso646-yu", "iso-ir-141"},
{"iso_10367-box", "iso-ir-155"},
{"iso_2033-1983", "iso-ir-98"},
{"iso_5427", "iso-ir-37"},
{"iso_5427:1981", "iso-ir-54"},
{"iso_5428:1980", "iso-ir-55"},
{"iso_646.irv:1983", "iso-ir-2"},
{"iso_646.irv:1991", "us-ascii"},
{"iso_6937-2-25", "iso-ir-152"},
{"iso_6937-2-add", "iso-ir-142"},
{"iso_8859-1", "iso-8859-1"},
{"iso_8859-10", "iso-8859-10"},
{"iso_8859-10:1992", "iso-8859-10"},
{"iso_8859-13", "iso-8859-13"},
{"iso_8859-13:1998", "iso-8859-13"},
{"iso_8859-14", "iso-8859-14"},
{"iso_8859-14:1998", "iso-8859-14"},
{"iso_8859-15", "iso-8859-15"},
{"iso_8859-15:1998", "iso-8859-15"},
{"iso_8859-1:1987", "iso-8859-1"},
{"iso_8859-2", "iso-8859-2"},
{"iso_8859-2:1987", "iso-8859-2"},
{"iso_8859-3", "iso-8859-3"},
{"iso_8859-3:1988", "iso-8859-3"},
{"iso_8859-4", "iso-8859-4"},
{"iso_8859-4:1988", "iso-8859-4"},
{"iso_8859-5", "iso-8859-5"},
{"iso_8859-5:1988", "iso-8859-5"},
{"iso_8859-6", "iso-8859-6"},
{"iso_8859-6:1987", "iso-8859-6"},
{"iso_8859-7", "iso-8859-7"},
{"iso_8859-7:1987", "iso-8859-7"},
{"iso_8859-8", "iso-8859-8"},
{"iso_8859-8:1988", "iso-8859-8"},
{"iso_8859-9", "iso-8859-9"},
{"iso_8859-9:1989", "iso-8859-9"},
{"iso_8859-supp", "iso-ir-154"},
{"iso_9036", "iso-ir-89"},
{"it", "iso-ir-15"},
{"jis_c6220-1969", "iso-ir-13"},
{"jis_c6220-1969-jp", "iso-ir-13"},
{"jis_c6220-1969-ro", "iso-ir-14"},
{"jis_c6226-1983", "jis_x0208-1983"},
{"jis_c6229-1984-a", "iso-ir-91"},
{"jis_c6229-1984-b", "iso-ir-92"},
{"jis_c6229-1984-b-add", "iso-ir-93"},
{"jis_c6229-1984-hand", "iso-ir-94"},
{"jis_c6229-1984-hand-add", "iso-ir-95"},
{"jis_c6229-1984-kana", "iso-ir-96"},
{"jp", "iso-ir-14"},
{"jp-ocr-a", "iso-ir-91"},
{"jp-ocr-b", "iso-ir-92"},
{"jp-ocr-b-add", "iso-ir-93"},
{"jp-ocr-hand", "iso-ir-94"},
{"jp-ocr-hand-add", "iso-ir-95"},
{"js", "iso-ir-141"},
{"jus_i.b1.002", "iso-ir-141"},
{"jus_i.b1.003-mac", "iso-ir-147"},
{"jus_i.b1.003-serb", "iso-ir-146"},
{"katakana", "iso-ir-13"},
{"ks_x_1001", "ksx1001"},
{"ksc5636", "iso646-kr"},
{"l1", "iso-8859-1"},
{"l2", "iso-8859-2"},
{"l3", "iso-8859-3"},
{"l4", "iso-8859-4"},
{"l5", "iso-8859-9"},
{"l6", "iso-8859-10"},
{"lap", "iso-ir-158"},
{"latin-greek", "iso-ir-19"},
{"latin-greek-1", "iso-ir-27"},
{"latin-lap", "iso-ir-158"},
{"latin1", "iso-8859-1"},
{"latin1-2-5", "iso-ir-154"},
{"latin2", "iso-8859-2"},
{"latin3", "iso-8859-3"},
{"latin4", "iso-8859-4"},
{"latin5", "iso-8859-9"},
{"latin6", "iso-8859-10"},
{"mac", "macintosh"},
{"maccenteuro", "mac-ce"},
{"maccroatian", "mac-croatian"},
{"maccyrillic", "mac-cyrillic"},
{"macdingbats", "mac-dingbats"},
{"macedonian", "iso-ir-147"},
{"macgreek", "mac-greek"},
{"maciceland", "mac-iceland"},
{"macroman", "mac-roman"},
{"macromania", "mac-romania"},
{"macthai", "mac-thai"},
{"macturkish", "mac-turkish"},
{"macukraine", "mac-ukraine"},
{"ms_kanji", "shift_jis"},
{"msz_7795.3", "iso-ir-86"},
{"naplps", "iso-ir-99"},
{"nats-dano", "iso-ir-9-1"},
{"nats-dano-add", "iso-ir-9-2"},
{"nats-sefi", "iso-ir-8-1"},
{"nats-sefi-add", "iso-ir-8-2"},
{"nc_nc00-10:81", "iso-ir-151"},
{"nf_z_62-010", "iso-ir-69"},
{"nf_z_62-010_(1973)", "iso-ir-25"},
{"no", "iso-ir-60"},
{"no2", "iso-ir-61"},
{"ns_4551-1", "iso-ir-60"},
{"ns_4551-2", "iso-ir-61"},
{"pt", "iso-ir-16"},
{"pt2", "iso-ir-84"},
{"r8", "hp-roman8"},
{"roman8", "hp-roman8"},
{"se", "iso-ir-10"},
{"se2", "iso-ir-11"},
{"sen_850200_b", "iso-ir-10"},
{"sen_850200_c", "iso-ir-11"},
{"serbian", "iso-ir-146"},
{"st_sev_358-88", "iso-ir-153"},
{"t.101-g2", "iso-ir-128"},
{"t.61", "iso-ir-103"},
{"t.61-7bit", "iso-ir-102"},
{"t.61-8bit", "iso-ir-103"},
{"uk", "iso-ir-4"},
{"us", "us-ascii"},
{"utf-7", "unicode-1-1-utf-7"},
{"videotex-suppl", "iso-ir-70"},
{"x0201", "jis_x0201"},
{"x0201-7", "iso-ir-13"},
{"x0208", "jis_x0208-1983"},
{"yu", "iso-ir-141"},
{NULL, NULL} };
static const size_t charset_alias_count =
sizeof(charset_alias_list)/sizeof(charset_alias_list[0]) - 1;
/* Compare two aliases. */
static int charset_alias_compare (const void *u, const void *v)
{
const struct charset_alias *const a = u;
const struct charset_alias *const b = v;
return strcmp(a->name, b->name);
}
/* Look up an alias in the sorted table and return its name,
or NULL if it's not in the table. */
static const char *charset_alias_find (const char *name)
{
struct charset_alias key;
struct charset_alias *alias;
#if 'A' == '\xC1' /* if EBCDIC host */
/* The table is sorted in ASCII collation order, not in EBCDIC order.
* At the first access, we sort it automatically
* Criterion for the 1st time initialization is the fact that the
* 1st name in the list starts with a digit (in ASCII, numbers
* have a lower ordinal value than alphabetic characters; while
* in EBCDIC, their ordinal value is higher)
*/
if (isdigit(charset_alias_list[0].name[0])) {
qsort((void *)charset_alias_list, charset_alias_count,
sizeof(charset_alias_list[0]),
charset_alias_compare);
}
#endif
key.name = name;
alias = bsearch(&key, charset_alias_list, charset_alias_count,
sizeof(charset_alias_list[0]),
charset_alias_compare);
if (alias)
return alias->target;
else
return NULL;
}
#endif /* API_HAVE_CHARSET_ALIAS_TABLE */