Commit 0ee1407d authored by Dmitry Timoshkov's avatar Dmitry Timoshkov Committed by Alexandre Julliard

Make mlang return the same code page descriptions as Windows, some

applications depend on it.
parent f9026f4e
......@@ -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,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment