/* make a standard conversion table from the desktop standard spec */ static GHashTable * init_encodings (void) { GHashTable *encodings = g_hash_table_new (g_str_hash, g_str_equal); /* "C" is plain ascii */ insert_locales (encodings, "ASCII", "C", NULL); insert_locales (encodings, "ARMSCII-8", "by", NULL); insert_locales (encodings, "BIG5", "zh_TW", NULL); insert_locales (encodings, "CP1251", "be", "bg", NULL); if (check_locale ("EUC-CN")) { insert_locales (encodings, "EUC-CN", "zh_CN", NULL); } else { insert_locales (encodings, "GB2312", "zh_CN", NULL); } insert_locales (encodings, "EUC-JP", "ja", NULL); insert_locales (encodings, "EUC-KR", "ko", NULL); /*insert_locales (encodings, "GEORGIAN-ACADEMY", NULL);*/ insert_locales (encodings, "GEORGIAN-PS", "ka", NULL); insert_locales (encodings, "ISO-8859-1", "br", "ca", "da", "de", "en", "es", "eu", "fi", "fr", "gl", "it", "nl", "wa", "no", "pt", "pt", "sv", NULL); insert_locales (encodings, "ISO-8859-2", "cs", "hr", "hu", "pl", "ro", "sk", "sl", "sq", "sr", NULL); insert_locales (encodings, "ISO-8859-3", "eo", NULL); insert_locales (encodings, "ISO-8859-5", "mk", "sp", NULL); insert_locales (encodings, "ISO-8859-7", "el", NULL); insert_locales (encodings, "ISO-8859-9", "tr", NULL); insert_locales (encodings, "ISO-8859-13", "lt", "lv", "mi", NULL); insert_locales (encodings, "ISO-8859-14", "ga", "cy", NULL); insert_locales (encodings, "ISO-8859-15", "et", NULL); insert_locales (encodings, "KOI8-R", "ru", NULL); insert_locales (encodings, "KOI8-U", "uk", NULL); if (check_locale ("TCVN-5712")) { insert_locales (encodings, "TCVN-5712", "vi", NULL); } else { insert_locales (encodings, "TCVN", "vi", NULL); } insert_locales (encodings, "TIS-620", "th", NULL); /*insert_locales (encodings, "VISCII", NULL);*/ return encodings; }
/* make a standard conversion table from the desktop standard spec */ void Charset_Insert_Locales_Init (void) { encodings = g_hash_table_new (g_str_hash, g_str_equal); /* "C" is plain ascii */ insert_locales (encodings, "ASCII", "C", NULL); #ifdef G_OS_WIN32 insert_locales (encodings, "windows-1256", "ar", NULL); // 2006.12.31 - For testing with Arabic #else /* !G_OS_WIN32 */ insert_locales (encodings, "ISO-8859-6", "ar", NULL); #endif /* !G_OS_WIN32 */ insert_locales (encodings, "ARMSCII-8", "by", NULL); insert_locales (encodings, "BIG5", "zh_TW", NULL); insert_locales (encodings, "CP1251", "be", "bg", NULL); if (check_locale ("EUC-CN")) { insert_locales (encodings, "EUC-CN", "zh_CN", NULL); } else { insert_locales (encodings, "GB2312", "zh_CN", NULL); } insert_locales (encodings, "EUC-JP", "ja", NULL); insert_locales (encodings, "EUC-KR", "ko", NULL); /*insert_locales (encodings, "GEORGIAN-ACADEMY", NULL);*/ insert_locales (encodings, "GEORGIAN-PS", "ka", NULL); insert_locales (encodings, "ISO-8859-1", "br", "ca", "da", "de", "en", "es", "eu", "fi", "fr", "gl", "it", "nl", "wa", "nb", "nn", "pt", "pt", "sv", NULL); #ifdef G_OS_WIN32 insert_locales (encodings, "windows-1250", "cs", "hr", "hu", "pl", "ro", "sk", "sl", "sq", "sr", NULL); #else /* !G_OS_WIN32 */ insert_locales (encodings, "ISO-8859-2", "cs", "hr", "hu", "pl", "ro", "sk", "sl", "sq", "sr", NULL); #endif /* !G_OS_WIN32 */ insert_locales (encodings, "ISO-8859-3", "eo", NULL); insert_locales (encodings, "ISO-8859-5", "mk", "sp", NULL); #ifdef G_OS_WIN32 insert_locales (encodings, "windows-1253", "el", NULL); #else /* !G_OS_WIN32 */ insert_locales (encodings, "ISO-8859-7", "el", NULL); #endif /* !G_OS_WIN32 */ #ifdef G_OS_WIN32 insert_locales (encodings, "windows-1254", "tr", NULL); #else /* !G_OS_WIN32 */ insert_locales (encodings, "ISO-8859-9", "tr", NULL); #endif /* !G_OS_WIN32 */ insert_locales (encodings, "ISO-8859-13", "lt", "lv", "mi", NULL); insert_locales (encodings, "ISO-8859-14", "ga", "cy", NULL); insert_locales (encodings, "ISO-8859-15", "et", NULL); #ifdef G_OS_WIN32 insert_locales (encodings, "windows-1251", "ru", NULL); #else /* !G_OS_WIN32 */ insert_locales (encodings, "KOI8-R", "ru", NULL); #endif /* !G_OS_WIN32 */ insert_locales (encodings, "KOI8-U", "uk", NULL); if (check_locale ("TCVN-5712")) { insert_locales (encodings, "TCVN-5712", "vi", NULL); } else { insert_locales (encodings, "TCVN", "vi", NULL); } insert_locales (encodings, "TIS-620", "th", NULL); #ifdef G_OS_WIN32 insert_locales (encodings, "windows-1255", "he", NULL); #endif /* G_OS_WIN32 */ /*insert_locales (encodings, "VISCII", NULL);*/ }