diff --git a/dlls/mlang/mlang.c b/dlls/mlang/mlang.c index 9962c4de0f..c2de2562db 100644 --- a/dlls/mlang/mlang.c +++ b/dlls/mlang/mlang.c @@ -29,7 +29,6 @@ #include "winbase.h" #include "wingdi.h" #include "winuser.h" -#include "winnls.h" #include "winreg.h" #include "ole2.h" #include "mlang.h" @@ -56,6 +55,7 @@ static HRESULT MultiLanguage_create(IUnknown *pUnkOuter, LPVOID *ppObj); typedef struct { + const char *description; UINT cp; DWORD flags; const char *web_charset; @@ -68,17 +68,21 @@ typedef struct static const MIME_CP_INFO arabic_cp[] = { - { 864, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | + { "Arabic (864)", + 864, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm864", "ibm864", "ibm864" }, - { 1006, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | + { "Arabic (1006)", + 1006, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm1006", "ibm1006", "ibm1006" }, - { 1256, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | + { "Arabic (Windows)", + 1256, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "windows-1256", "windows-1256", "windows-1256" }, - { 28596, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | + { "Arabic (ISO)", + 28596, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST, @@ -86,26 +90,31 @@ static const MIME_CP_INFO arabic_cp[] = }; static const MIME_CP_INFO baltic_cp[] = { - { 775, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "Baltic (DOS)", + 775, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm775", "ibm775", "ibm775" }, - { 1257, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | + { "Baltic (Windows)", + 1257, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "windows-1257", "windows-1257", "windows-1257" }, - { 28594, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | + { "Baltic (ISO)", + 28594, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "iso-8859-4", "iso-8859-4", "iso-8859-4" }, - { 28603, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "Estonian (ISO)", + 28603, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "iso-8859-13", "iso-8859-13", "iso-8859-13" } }; static const MIME_CP_INFO chinese_simplified_cp[] = { - { 936, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | + { "Chinese Simplified (GB2312)", + 936, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST, @@ -113,7 +122,8 @@ static const MIME_CP_INFO chinese_simplified_cp[] = }; static const MIME_CP_INFO chinese_traditional_cp[] = { - { 950, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | + { "Chinese Traditional (Big5)", + 950, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST, @@ -121,19 +131,23 @@ static const MIME_CP_INFO chinese_traditional_cp[] = }; static const MIME_CP_INFO central_european_cp[] = { - { 852, MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_BROWSER | + { "Central European (DOS)", + 852, MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST, "ibm852", "ibm852", "ibm852" }, - { 1250, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | + { "Central European (Windows)", + 1250, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "windows-1250", "windows-1250", "windows-1250" }, - { 10029, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "Central European (Mac)", + 10029, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "x-mac-ce", "x-mac-ce", "x-mac-ce" }, - { 28592, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | + { "Central European (ISO)", + 28592, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST, @@ -141,31 +155,38 @@ static const MIME_CP_INFO central_european_cp[] = }; static const MIME_CP_INFO cyrillic_cp[] = { - { 855, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "OEM Cyrillic", + 855, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm855", "ibm855", "ibm855" }, - { 866, MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_BROWSER | + { "Cyrillic (DOS)", + 866, MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST, "cp866", "cp866", "cp866" }, #if 0 /* Windows has 20866 as an official code page for KOI8-R */ - { 878, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "Cyrillic (KOI8-R)", + 878, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "koi8-r", "koi8-r", "koi8-r" }, #endif - { 1251, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | + { "Cyrillic (Windows)", + 1251, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "windows-1251", "windows-1251", "windows-1251" }, - { 10007, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | + { "Cyrillic (Mac)", + 10007, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "x-mac-cyrillic", "x-mac-cyrillic", "x-mac-cyrillic" }, - { 20866, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | + { "Cyrillic (KOI8-R)", + 20866, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST, "koi8-r", "koi8-r", "koi8-r" }, - { 28595, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | + { "Cyrillic (ISO)", + 28595, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST, @@ -173,23 +194,29 @@ static const MIME_CP_INFO cyrillic_cp[] = }; static const MIME_CP_INFO greek_cp[] = { - { 737, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | + { "Greek (DOS)", + 737, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm737", "ibm737", "ibm737" }, - { 869, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | + { "Greek, Modern (DOS)", + 869, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm869", "ibm869", "ibm869" }, - { 875, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | + { "IBM EBCDIC (Greek Modern)", + 875, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "cp875", "cp875", "cp875" }, - { 1253, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | + { "Greek (Windows)", + 1253, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "windows-1253", "windows-1253", "windows-1253" }, - { 10006, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | + { "Greek (Mac)", + 10006, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "x-mac-greek", "x-mac-greek", "x-mac-greek" }, - { 28597, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | + { "Greek (ISO)", + 28597, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST, @@ -197,39 +224,47 @@ static const MIME_CP_INFO greek_cp[] = }; static const MIME_CP_INFO hebrew_cp[] = { - { 424, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | + { "Hebrew (424)", + 424, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm424", "ibm424", "ibm424" }, - { 856, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | + { "Hebrew (856)", + 856, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "cp856", "cp856", "cp856" }, - { 862, MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | + { "Hebrew (DOS)", + 862, MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "dos-862", "dos-862", "dos-862" }, - { 1255, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | + { "Hebrew (Windows)", + 1255, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "windows-1255", "windows-1255", "windows-1255" }, - { 28598, MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | + { "Hebrew (ISO-Visual)", + 28598, MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST, "iso-8859-8", "iso-8859-8", "iso-8859-8" } }; static const MIME_CP_INFO japanese_cp[] = { - { 932, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | + { "Japanese (Shift-JIS)", + 932, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST, "shift_jis", "iso-2022-jp", "iso-2022-jp" }, - { 20932, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | + { "Japanese (JIS 0208-1990 and 0212-1990)", + 20932, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "euc-jp", "euc-jp", "euc-jp" } }; static const MIME_CP_INFO korean_cp[] = { - { 949, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | + { "Korean", + 949, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, @@ -237,30 +272,37 @@ static const MIME_CP_INFO korean_cp[] = }; static const MIME_CP_INFO thai_cp[] = { - { 874, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_MIME_LATEST, + { "Thai (Windows)", + 874, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_MIME_LATEST, "ibm-thai", "ibm-thai", "ibm-thai" } }; static const MIME_CP_INFO turkish_cp[] = { - { 857, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "Turkish (DOS)", + 857, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm857", "ibm857", "ibm857" }, - { 1026, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "IBM EBCDIC (Turkish Latin-5)", + 1026, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm1026", "ibm1026", "ibm1026" }, - { 1254, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | + { "Turkish (Windows)", + 1254, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "windows-1254", "windows-1254", "windows-1254" }, - { 10081, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "Turkish (Mac)", + 10081, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "x-mac-turkish", "x-mac-turkish", "x-mac-turkish" }, - { 28593, MIMECONTF_MAILNEWS | MIMECONTF_IMPORT | + { "Latin 3 (ISO)", + 28593, MIMECONTF_MAILNEWS | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST, "iso-8859-3", "iso-8859-3", "iso-8859-3" }, - { 28599, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | + { "Turkish (ISO)", + 28599, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, @@ -268,7 +310,8 @@ static const MIME_CP_INFO turkish_cp[] = }; static const MIME_CP_INFO vietnamese_cp[] = { - { 1258, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | + { "Vietnamese (Windows)", + 1258, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST, @@ -276,47 +319,60 @@ static const MIME_CP_INFO vietnamese_cp[] = }; static const MIME_CP_INFO western_cp[] = { - { 37, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "IBM EBCDIC (US-Canada)", + 37, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm037", "ibm037", "ibm037" }, - { 437, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "OEM United States", + 437, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm437", "ibm437", "ibm437" }, - { 500, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "IBM EBCDIC (International)", + 500, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm500", "ibm500", "ibm500" }, - { 850, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "Western European (DOS)", + 850, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm850", "ibm850", "ibm850" }, - { 860, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "Portuguese (DOS)", + 860, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm860", "ibm860", "ibm860" }, - { 861, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "Icelandic (DOS)", + 861, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm861", "ibm861", "ibm861" }, - { 863, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "French Canadian (DOS)", + 863, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm863", "ibm863", "ibm863" }, - { 865, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "Nordic (DOS)", + 865, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "ibm865", "ibm865", "ibm865" }, - { 1252, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | + { "Western European (Windows)", + 1252, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "windows-1252", "windows-1252", "iso-8859-1" }, - { 10000, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "Western European (Mac)", + 10000, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "macintosh", "macintosh", "macintosh" }, - { 10079, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | + { "Icelandic (Mac)", + 10079, MIMECONTF_IMPORT | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "x-mac-icelandic", "x-mac-icelandic", "x-mac-icelandic" }, - { 28591, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | + { "Western European (ISO)", + 28591, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, "iso-8859-1", "iso-8859-1", "iso-8859-1" }, - { 28605, MIMECONTF_MAILNEWS | MIMECONTF_IMPORT | + { "Latin 9 (ISO)", + 28605, MIMECONTF_MAILNEWS | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_LATEST, @@ -324,16 +380,19 @@ static const MIME_CP_INFO western_cp[] = }; static const MIME_CP_INFO unicode_cp[] = { - { CP_UNICODE, MIMECONTF_MINIMAL | MIMECONTF_IMPORT | + { "Unicode", + CP_UNICODE, MIMECONTF_MINIMAL | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST, "unicode", "unicode", "unicode" }, - { CP_UTF7, MIMECONTF_MAILNEWS | MIMECONTF_IMPORT | + { "Unicode (UTF-7)", + CP_UTF7, MIMECONTF_MAILNEWS | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST, "utf-7", "utf-7", "utf-7" }, - { CP_UTF8, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | + { "Unicode (UTF-8)", + CP_UTF8, MIMECONTF_MAILNEWS | MIMECONTF_BROWSER | MIMECONTF_IMPORT | MIMECONTF_SAVABLE_MAILNEWS | MIMECONTF_SAVABLE_BROWSER | MIMECONTF_EXPORT | MIMECONTF_VALID | MIMECONTF_VALID_NLS | MIMECONTF_MIME_IE4 | MIMECONTF_MIME_LATEST, @@ -1481,7 +1540,6 @@ static HRESULT WINAPI fnIMultiLanguage2_GetNumberOfCodePageInfo( static void fill_cp_info(const struct mlang_data *ml_data, UINT index, MIMECPINFO *mime_cp_info) { - CPINFOEXW cpinfo; CHARSETINFO csi; if (TranslateCharsetInfo((DWORD *)ml_data->family_codepage, &csi, TCI_SRCCODEPAGE)) @@ -1489,17 +1547,11 @@ static void fill_cp_info(const struct mlang_data *ml_data, UINT index, MIMECPINF else mime_cp_info->bGDICharset = DEFAULT_CHARSET; - if (!GetCPInfoExW(ml_data->mime_cp_info[index].cp, 0, &cpinfo)) - { - /* fall back to family codepage in the case of alias */ - if (!GetCPInfoExW(ml_data->family_codepage, 0, &cpinfo)) - cpinfo.CodePageName[0] = 0; - } - mime_cp_info->dwFlags = ml_data->mime_cp_info[index].flags; mime_cp_info->uiCodePage = ml_data->mime_cp_info[index].cp; mime_cp_info->uiFamilyCodePage = ml_data->family_codepage; - strcpyW(mime_cp_info->wszDescription, cpinfo.CodePageName); + MultiByteToWideChar(CP_ACP, 0, ml_data->mime_cp_info[index].description, -1, + mime_cp_info->wszDescription, sizeof(mime_cp_info->wszDescription)/sizeof(WCHAR)); MultiByteToWideChar(CP_ACP, 0, ml_data->mime_cp_info[index].web_charset, -1, mime_cp_info->wszWebCharset, sizeof(mime_cp_info->wszWebCharset)/sizeof(WCHAR)); MultiByteToWideChar(CP_ACP, 0, ml_data->mime_cp_info[index].header_charset, -1, @@ -1507,7 +1559,6 @@ static void fill_cp_info(const struct mlang_data *ml_data, UINT index, MIMECPINF MultiByteToWideChar(CP_ACP, 0, ml_data->mime_cp_info[index].body_charset, -1, mime_cp_info->wszBodyCharset, sizeof(mime_cp_info->wszBodyCharset)/sizeof(WCHAR)); - MultiByteToWideChar(CP_ACP, 0, ml_data->fixed_font, -1, mime_cp_info->wszFixedWidthFont, sizeof(mime_cp_info->wszFixedWidthFont)/sizeof(WCHAR)); MultiByteToWideChar(CP_ACP, 0, ml_data->proportional_font, -1,