X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/charset/blobdiff_plain/2d50ebfa6950f4225604f77c443cf4d2443c988b..HEAD:/localenc.c diff --git a/localenc.c b/localenc.c index f19c178..f5fabee 100644 --- a/localenc.c +++ b/localenc.c @@ -47,6 +47,11 @@ static const struct { { "ISO-8859-16", CS_ISO8859_16, 1 }, { "CP437", CS_CP437, 1 }, { "CP850", CS_CP850, 1 }, + { "CP852", CS_CP852, 1 }, + { "CP866", CS_CP866, 1 }, + { "CP874", CS_CP874, 1 }, + { "Win874", CS_CP874, 0 }, + { "Win-874", CS_CP874, 0 }, { "CP1250", CS_CP1250, 1 }, { "Win1250", CS_CP1250, 0 }, { "CP1251", CS_CP1251, 1 }, @@ -115,6 +120,7 @@ static const struct { { "UTF-16", CS_UTF16, 1 }, { "CP949", CS_CP949, 1 }, { "PDFDocEncoding", CS_PDF, 1 }, + { "StandardEncoding", CS_PSSTD, 1 }, { "COMPOUND_TEXT", CS_CTEXT, 1 }, { "COMPOUND-TEXT", CS_CTEXT, 0 }, { "COMPOUND TEXT", CS_CTEXT, 0 }, @@ -143,13 +149,15 @@ int charset_from_localenc(const char *name) return i; if ( (i = charset_from_xenc(name)) != CS_NONE) return i; + if ( (i = charset_from_emacsenc(name)) != CS_NONE) + return i; for (i = 0; i < (int)lenof(localencs); i++) { const char *p, *q; p = name; q = localencs[i].name; while (*p || *q) { - if (tolower(*p) != tolower(*q)) + if (tolower((unsigned char)*p) != tolower((unsigned char)*q)) break; p++; q++; }