summaryrefslogtreecommitdiffstats
path: root/src/corelib/codecs/qtextcodec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/codecs/qtextcodec.cpp')
-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