Make mlang return the same code page descriptions as Windows

Dmitry Timoshkov dmitry at baikal.ru
Wed Sep 22 07:51:35 CDT 2004


Hello,

Changelog:
    Dmitry Timoshkov <dmitry at codeweavers.com>
    Make mlang return the same code page descriptions as Windows,
    some applications depend on it.

--- cvs/hq/wine/dlls/mlang/mlang.c	Wed Sep 15 22:11:02 2004
+++ wine/dlls/mlang/mlang.c	Wed Sep 22 12:12:38 2004
@@ -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(IUnk
 
 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_simpli
 };
 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_tradit
 };
 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_europe
 };
 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_
 
 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,24 +1547,17 @@ static void fill_cp_info(const struct ml
     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,
                         mime_cp_info->wszHeaderCharset, sizeof(mime_cp_info->wszHeaderCharset)/sizeof(WCHAR));
     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));






More information about the wine-patches mailing list