summaryrefslogtreecommitdiffstats
path: root/src/corelib/codecs
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2012-07-20 10:54:25 +0200
committerQt by Nokia <qt-info@nokia.com>2012-07-31 11:11:48 +0200
commite41129c8593e58e800846e9c6219a79a7741cb2f (patch)
tree41e2e136fdc52b9514583532f811aa83743c8544 /src/corelib/codecs
parent5af9ecafd9c14f39bec5fed3192a266ec9e31ffe (diff)
Remove encoding detection according to LANG
This code is left over from the 90's, and should not get used anymore. In all relevant cases we will use UTF-8 or iconv nowadays. Change-Id: Ie3776f671de33f782fa77f6359bf6e105bd9c1b8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/codecs')
-rw-r--r--src/corelib/codecs/qtextcodec.cpp142
1 files changed, 0 insertions, 142 deletions
diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp
index 0aa7a3b1a8..2522cefeaa 100644
--- a/src/corelib/codecs/qtextcodec.cpp
+++ b/src/corelib/codecs/qtextcodec.cpp
@@ -127,109 +127,6 @@ static bool nameMatch(const QByteArray &name, const QByteArray &test)
}
#if !defined(Q_OS_WIN32) && !defined(Q_OS_WINCE)
-
-/* locale names mostly copied from XFree86 */
-static const char * const iso8859_2locales[] = {
- "croatian", "cs", "cs_CS", "cs_CZ","cz", "cz_CZ", "czech", "hr",
- "hr_HR", "hu", "hu_HU", "hungarian", "pl", "pl_PL", "polish", "ro",
- "ro_RO", "rumanian", "serbocroatian", "sh", "sh_SP", "sh_YU", "sk",
- "sk_SK", "sl", "sl_CS", "sl_SI", "slovak", "slovene", "sr_SP", 0 };
-
-static const char * const iso8859_3locales[] = {
- "eo", 0 };
-
-static const char * const iso8859_4locales[] = {
- "ee", "ee_EE", 0 };
-
-static const char * const iso8859_5locales[] = {
- "mk", "mk_MK", "sp", "sp_YU", 0 };
-
-static const char * const cp_1251locales[] = {
- "be", "be_BY", "bg", "bg_BG", "bulgarian", 0 };
-
-static const char * const pt_154locales[] = {
- "ba_RU", "ky", "ky_KG", "kk", "kk_KZ", 0 };
-
-static const char * const iso8859_6locales[] = {
- "ar_AA", "ar_SA", "arabic", 0 };
-
-static const char * const iso8859_7locales[] = {
- "el", "el_GR", "greek", 0 };
-
-static const char * const iso8859_8locales[] = {
- "hebrew", "he", "he_IL", "iw", "iw_IL", 0 };
-
-static const char * const iso8859_9locales[] = {
- "tr", "tr_TR", "turkish", 0 };
-
-static const char * const iso8859_13locales[] = {
- "lt", "lt_LT", "lv", "lv_LV", 0 };
-
-static const char * const iso8859_15locales[] = {
- "et", "et_EE",
- // Euro countries
- "br_FR", "ca_ES", "de", "de_AT", "de_BE", "de_DE", "de_LU", "en_IE",
- "es", "es_ES", "eu_ES", "fi", "fi_FI", "finnish", "fr", "fr_FR",
- "fr_BE", "fr_LU", "french", "ga_IE", "gl_ES", "it", "it_IT", "oc_FR",
- "nl", "nl_BE", "nl_NL", "pt", "pt_PT", "sv_FI", "wa_BE",
- 0 };
-
-static const char * const koi8_ulocales[] = {
- "uk", "uk_UA", "ru_UA", "ukrainian", 0 };
-
-static const char * const tis_620locales[] = {
- "th", "th_TH", "thai", 0 };
-
-// static const char * const tcvnlocales[] = {
-// "vi", "vi_VN", 0 };
-
-static bool try_locale_list(const char * const locale[], const QByteArray &lang)
-{
- int i;
- for(i=0; locale[i] && lang != locale[i]; i++)
- ;
- return locale[i] != 0;
-}
-
-// For the probably_koi8_locales we have to look. the standard says
-// these are 8859-5, but almost all Russian users use KOI8-R and
-// incorrectly set $LANG to ru_RU. We'll check tolower() to see what
-// it thinks ru_RU means.
-
-// If you read the history, it seems that many Russians blame ISO and
-// Perestroika for the confusion.
-//
-// The real bug is that some programs break if the user specifies
-// ru_RU.KOI8-R.
-
-static const char * const probably_koi8_rlocales[] = {
- "ru", "ru_SU", "ru_RU", "russian", 0 };
-
-static QTextCodec * ru_RU_hack(const char * i)
-{
- QTextCodec * ru_RU_codec = 0;
-
- QByteArray origlocale(setlocale(LC_CTYPE, i));
- // unicode koi8r latin5 name
- // 0x044E 0xC0 0xEE CYRILLIC SMALL LETTER YU
- // 0x042E 0xE0 0xCE CYRILLIC CAPITAL LETTER YU
- int latin5 = tolower(0xCE);
- int koi8r = tolower(0xE0);
- if (koi8r == 0xC0 && latin5 != 0xEE) {
- ru_RU_codec = QTextCodec::codecForName("KOI8-R");
- } else if (koi8r != 0xC0 && latin5 == 0xEE) {
- ru_RU_codec = QTextCodec::codecForName("ISO 8859-5");
- } else {
- // something else again... let's assume... *throws dice*
- ru_RU_codec = QTextCodec::codecForName("KOI8-R");
- qWarning("QTextCodec: Using KOI8-R, probe failed (%02x %02x %s)",
- koi8r, latin5, i);
- }
- setlocale(LC_CTYPE, origlocale.constData());
-
- return ru_RU_codec;
-}
-
static QTextCodec *checkForCodec(const QByteArray &name) {
QTextCodec *c = QTextCodec::codecForName(name);
if (!c) {
@@ -337,45 +234,6 @@ static QTextCodec *setupLocaleMapper()
// 5. "@euro"
if ((!globalData->codecForLocale && ctype.contains("@euro")) || lang.contains("@euro"))
globalData->codecForLocale = checkForCodec("ISO 8859-15");
-
- // 6. guess locale from ctype unless ctype is "C"
- // 7. guess locale from lang
- const QByteArray &try_by_name = (!ctype.isEmpty() && ctype != "C") ? lang : ctype;
-
- // Now do the guessing.
- if (!lang.isEmpty() && !globalData->codecForLocale && !try_by_name.isEmpty()) {
- if (try_locale_list(iso8859_15locales, lang))
- globalData->codecForLocale = QTextCodec::codecForName("ISO 8859-15");
- else if (try_locale_list(iso8859_2locales, lang))
- globalData->codecForLocale = QTextCodec::codecForName("ISO 8859-2");
- else if (try_locale_list(iso8859_3locales, lang))
- globalData->codecForLocale = QTextCodec::codecForName("ISO 8859-3");
- else if (try_locale_list(iso8859_4locales, lang))
- globalData->codecForLocale = QTextCodec::codecForName("ISO 8859-4");
- else if (try_locale_list(iso8859_5locales, lang))
- globalData->codecForLocale = QTextCodec::codecForName("ISO 8859-5");
- else if (try_locale_list(iso8859_6locales, lang))
- globalData->codecForLocale = QTextCodec::codecForName("ISO 8859-6");
- else if (try_locale_list(iso8859_7locales, lang))
- globalData->codecForLocale = QTextCodec::codecForName("ISO 8859-7");
- else if (try_locale_list(iso8859_8locales, lang))
- globalData->codecForLocale = QTextCodec::codecForName("ISO 8859-8-I");
- else if (try_locale_list(iso8859_9locales, lang))
- globalData->codecForLocale = QTextCodec::codecForName("ISO 8859-9");
- else if (try_locale_list(iso8859_13locales, lang))
- globalData->codecForLocale = QTextCodec::codecForName("ISO 8859-13");
- else if (try_locale_list(tis_620locales, lang))
- globalData->codecForLocale = QTextCodec::codecForName("ISO 8859-11");
- else if (try_locale_list(koi8_ulocales, lang))
- globalData->codecForLocale = QTextCodec::codecForName("KOI8-U");
- else if (try_locale_list(cp_1251locales, lang))
- globalData->codecForLocale = QTextCodec::codecForName("CP 1251");
- else if (try_locale_list(pt_154locales, lang))
- globalData->codecForLocale = QTextCodec::codecForName("PT 154");
- else if (try_locale_list(probably_koi8_rlocales, lang))
- globalData->codecForLocale = ru_RU_hack(lang.constData());
- }
-
}
// If everything failed, we default to 8859-1