Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- Esperanto's circumflex characters are not representable in Latin-1. --- dlls/kernel32/nls/eox.nls | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/kernel32/nls/eox.nls b/dlls/kernel32/nls/eox.nls index 0dc82fe3a7..d6713730e2 100644 --- a/dlls/kernel32/nls/eox.nls +++ b/dlls/kernel32/nls/eox.nls @@ -49,7 +49,7 @@ STRINGTABLE LANGUAGE LANG_ESPERANTO, SUBLANG_DEFAULT LOCALE_IDEFAULTANSICODEPAGE "0" LOCALE_IDEFAULTCODEPAGE "1" LOCALE_IDEFAULTCOUNTRY "" - LOCALE_IDEFAULTEBCDICCODEPAGE "500" + LOCALE_IDEFAULTEBCDICCODEPAGE "28593" LOCALE_IDEFAULTLANGUAGE "048f" LOCALE_IDEFAULTMACCODEPAGE "2" LOCALE_IDEFAULTUNIXCODEPAGE "65001"
According to MSDN, Cornish, Surinamese Dutch, and Esperanto all have the language ID 0x1000. Presumably Manx and Walloon will also use 0x1000 if Windows ever gets support for them.
Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac96... --- dlls/kernel32/locale_rc.rc | 15 +++++++-------- dlls/kernel32/nls/cor.nls | 2 +- dlls/kernel32/nls/eox.nls | 12 ++---------- dlls/kernel32/nls/gdv.nls | 2 +- dlls/kernel32/nls/nls.nls | 7 +------ dlls/kernel32/nls/wal.nls | 4 ++-- 6 files changed, 14 insertions(+), 28 deletions(-)
diff --git a/dlls/kernel32/locale_rc.rc b/dlls/kernel32/locale_rc.rc index 3f9cfd46d4..d578e9135f 100644 --- a/dlls/kernel32/locale_rc.rc +++ b/dlls/kernel32/locale_rc.rc @@ -125,6 +125,7 @@
#include "nls/nld.nls" /* 0x0413 LANG_DUTCH, SUBLANG_DUTCH */ #include "nls/nlb.nls" /* 0x0813 LANG_DUTCH, SUBLANG_DUTCH_BELGIAN */ +#include "nls/nls.nls" /* 0x1000 LANG_DUTCH, SUBLANG_DUTCH_SURINAM */
#include "nls/nor.nls" /* 0x0414 LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL */ #include "nls/non.nls" /* 0x0814 LANG_NORWEGIAN, SUBLANG_NORWEGIAN_NYNORSK */ @@ -244,16 +245,14 @@
#include "nls/gdh.nls" /* 0x0491 LANG_SCOTTISH_GAELIC, SUBLANG_SCOTTISH_GAELIC */
-/* Wine extensions */ - -#include "nls/nls.nls" /* 0x0c13 LANG_DUTCH, SUBLANG_DUTCH_SURINAM */ +#include "nls/cor.nls" /* 0x1000 LANG_CORNISH, SUBLANG_DEFAULT */
-#include "nls/eox.nls" /* 0x048f LANG_ESPERANTO, SUBLANG_DEFAULT */ +#include "nls/eox.nls" /* 0x1000 LANG_ESPERANTO, SUBLANG_DEFAULT */
-#include "nls/wal.nls" /* 0x0490 LANG_WALON, SUBLANG_DEFAULT */ +/* Wine extensions */
-#include "nls/cor.nls" /* 0x0492 LANG_CORNISH, SUBLANG_DEFAULT */ +#include "nls/ivl.nls" /* 0x047f LANG_INVARIANT, SUBLANG_NEUTRAL */
-#include "nls/gdv.nls" /* 0x0494 LANG_MANX_GAELIC, SUBLANG_MANX_GAELIC */ +#include "nls/gdv.nls" /* 0x1000 LANG_MANX_GAELIC, SUBLANG_MANX_GAELIC */
-#include "nls/ivl.nls" /* 0x047f LANG_INVARIANT, SUBLANG_NEUTRAL */ +#include "nls/wal.nls" /* 0x1000 LANG_WALON, SUBLANG_DEFAULT */ diff --git a/dlls/kernel32/nls/cor.nls b/dlls/kernel32/nls/cor.nls index ab6cbde28b..29caa11895 100644 --- a/dlls/kernel32/nls/cor.nls +++ b/dlls/kernel32/nls/cor.nls @@ -43,7 +43,7 @@ STRINGTABLE LANGUAGE LANG_CORNISH, SUBLANG_DEFAULT LOCALE_IFIRSTDAYOFWEEK "0" LOCALE_IFIRSTWEEKOFYEAR "0" LOCALE_IINTLCURRDIGITS "2" - LOCALE_ILANGUAGE "0492" + LOCALE_ILANGUAGE "1000" LOCALE_ILDATE "1" LOCALE_ILZERO "1" LOCALE_IMEASURE "0" diff --git a/dlls/kernel32/nls/eox.nls b/dlls/kernel32/nls/eox.nls index d6713730e2..4f3d0e6362 100644 --- a/dlls/kernel32/nls/eox.nls +++ b/dlls/kernel32/nls/eox.nls @@ -1,14 +1,6 @@ /* * Locale definitions for Esperanto * - * Esperanto seems not to be supported by Windows - * - * TODO: MS numerical ID for language ? - * - * I choose 0x8f for esperanto language as it is high enough - * not to be attributed to another language in the immediate - * future (as of 19980901 the last official languageID is 0x51) - * * No Windows 125[0-8] codepage has the c^ g^ h^ j^ s^ used by esperanto. * And for DOS codepage ? * @@ -50,7 +42,7 @@ STRINGTABLE LANGUAGE LANG_ESPERANTO, SUBLANG_DEFAULT LOCALE_IDEFAULTCODEPAGE "1" LOCALE_IDEFAULTCOUNTRY "" LOCALE_IDEFAULTEBCDICCODEPAGE "28593" - LOCALE_IDEFAULTLANGUAGE "048f" + LOCALE_IDEFAULTLANGUAGE "1000" LOCALE_IDEFAULTMACCODEPAGE "2" LOCALE_IDEFAULTUNIXCODEPAGE "65001" LOCALE_IDIGITS "2" @@ -58,7 +50,7 @@ STRINGTABLE LANGUAGE LANG_ESPERANTO, SUBLANG_DEFAULT LOCALE_IFIRSTDAYOFWEEK "0" LOCALE_IFIRSTWEEKOFYEAR "0" LOCALE_IINTLCURRDIGITS "2" - LOCALE_ILANGUAGE "048f" + LOCALE_ILANGUAGE "1000" LOCALE_ILDATE "1" LOCALE_ILZERO "1" LOCALE_IMEASURE "0" diff --git a/dlls/kernel32/nls/gdv.nls b/dlls/kernel32/nls/gdv.nls index 5410325738..15eff26d5e 100644 --- a/dlls/kernel32/nls/gdv.nls +++ b/dlls/kernel32/nls/gdv.nls @@ -43,7 +43,7 @@ STRINGTABLE LANGUAGE LANG_MANX_GAELIC, SUBLANG_MANX_GAELIC LOCALE_IFIRSTDAYOFWEEK "0" LOCALE_IFIRSTWEEKOFYEAR "0" LOCALE_IINTLCURRDIGITS "2" - LOCALE_ILANGUAGE "0494" + LOCALE_ILANGUAGE "1000" LOCALE_ILDATE "1" LOCALE_ILZERO "1" LOCALE_IMEASURE "0" diff --git a/dlls/kernel32/nls/nls.nls b/dlls/kernel32/nls/nls.nls index 47c1260d1e..7c46205218 100644 --- a/dlls/kernel32/nls/nls.nls +++ b/dlls/kernel32/nls/nls.nls @@ -1,11 +1,6 @@ /* * Locale definitions for Dutch (Surinam) * - * The code for Dutch/Surinam doesn't appear on my docs; - * It should be something + 0x13 as 0x13 is the Dutch language; - * Following the same logic as other multi-countries languages - * I picked 0x0c13 for Surinam/Dutch. - * * Copyright 1998 Marcel Baur * Copyright 2002 Alexandre Julliard for CodeWeavers * @@ -48,7 +43,7 @@ STRINGTABLE LANGUAGE LANG_DUTCH, SUBLANG_DUTCH_SURINAM LOCALE_IFIRSTDAYOFWEEK "0" LOCALE_IFIRSTWEEKOFYEAR "2" LOCALE_IINTLCURRDIGITS "2" - LOCALE_ILANGUAGE "0c13" + LOCALE_ILANGUAGE "1000" LOCALE_ILDATE "1" LOCALE_ILZERO "1" LOCALE_IMEASURE "0" diff --git a/dlls/kernel32/nls/wal.nls b/dlls/kernel32/nls/wal.nls index e39c5bf4a6..c56e13d450 100644 --- a/dlls/kernel32/nls/wal.nls +++ b/dlls/kernel32/nls/wal.nls @@ -34,7 +34,7 @@ STRINGTABLE LANGUAGE LANG_WALON, SUBLANG_DEFAULT LOCALE_IDEFAULTCODEPAGE "850" LOCALE_IDEFAULTCOUNTRY "32" LOCALE_IDEFAULTEBCDICCODEPAGE "20297" - LOCALE_IDEFAULTLANGUAGE "0490" + LOCALE_IDEFAULTLANGUAGE "0809" LOCALE_IDEFAULTMACCODEPAGE "10000" LOCALE_IDEFAULTUNIXCODEPAGE "28605" LOCALE_IDIGITS "2" @@ -42,7 +42,7 @@ STRINGTABLE LANGUAGE LANG_WALON, SUBLANG_DEFAULT LOCALE_IFIRSTDAYOFWEEK "6" LOCALE_IFIRSTWEEKOFYEAR "0" LOCALE_IINTLCURRDIGITS "2" - LOCALE_ILANGUAGE "0490" + LOCALE_ILANGUAGE "1000" LOCALE_ILDATE "1" LOCALE_ILZERO "1" LOCALE_IMEASURE "0"
Hi,
While running your changed tests on Windows, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=48484
Your paranoid android.
=== debian9 (32 bit report) ===
kernel32: loader.c:3850: Test failed: kernel32.dll:2: wrong OptionalHeader.DataDirectory[i].Size 1acdd8 / 1acdd4
=== debian9 (32 bit Chinese:China report) ===
kernel32: loader.c:3850: Test failed: kernel32.dll:2: wrong OptionalHeader.DataDirectory[i].Size 1acdd8 / 1acdd4
=== debian9 (32 bit WoW report) ===
kernel32: loader.c:3850: Test failed: kernel32.dll:2: wrong OptionalHeader.DataDirectory[i].Size 1acdd8 / 1acdd4
=== debian9 (64 bit WoW report) ===
kernel32: loader.c:3850: Test failed: kernel32.dll:2: wrong OptionalHeader.DataDirectory[i].Size 1acdd8 / 1acdd4
Alex Henrie alexhenrie24@gmail.com writes:
According to MSDN, Cornish, Surinamese Dutch, and Esperanto all have the language ID 0x1000. Presumably Manx and Walloon will also use 0x1000 if Windows ever gets support for them.
This doesn't make sense, we have proper ids for them. 0x1000 would be for languages that don't have a valid id, but we have no way of supporting that yet.
On Tue, Mar 5, 2019 at 12:49 PM Alexandre Julliard julliard@winehq.org wrote:
Alex Henrie alexhenrie24@gmail.com writes:
According to MSDN, Cornish, Surinamese Dutch, and Esperanto all have the language ID 0x1000. Presumably Manx and Walloon will also use 0x1000 if Windows ever gets support for them.
This doesn't make sense, we have proper ids for them. 0x1000 would be for languages that don't have a valid id, but we have no way of supporting that yet.
OK. I've been trying to help Enol Puente put together an Asturian localization for Wine, and Asturian is another language that uses the ID 0x1000. So it sounds like the thing to do is to invent a language ID for Asturian like we have already invented IDs for Cornish, Surinamese Dutch, Esperanto, Manx, and Walloon.
-Alex
Alex Henrie alexhenrie24@gmail.com writes:
diff --git a/dlls/kernel32/nls/eox.nls b/dlls/kernel32/nls/eox.nls index 0dc82fe3a7..d6713730e2 100644 --- a/dlls/kernel32/nls/eox.nls +++ b/dlls/kernel32/nls/eox.nls @@ -49,7 +49,7 @@ STRINGTABLE LANGUAGE LANG_ESPERANTO, SUBLANG_DEFAULT LOCALE_IDEFAULTANSICODEPAGE "0" LOCALE_IDEFAULTCODEPAGE "1" LOCALE_IDEFAULTCOUNTRY ""
- LOCALE_IDEFAULTEBCDICCODEPAGE "500"
- LOCALE_IDEFAULTEBCDICCODEPAGE "28593"
Somehow I doubt that your problem is caused by the EBCDIC codepage.
On Tue, Mar 5, 2019 at 12:48 PM Alexandre Julliard julliard@winehq.org wrote:
Alex Henrie alexhenrie24@gmail.com writes:
diff --git a/dlls/kernel32/nls/eox.nls b/dlls/kernel32/nls/eox.nls index 0dc82fe3a7..d6713730e2 100644 --- a/dlls/kernel32/nls/eox.nls +++ b/dlls/kernel32/nls/eox.nls @@ -49,7 +49,7 @@ STRINGTABLE LANGUAGE LANG_ESPERANTO, SUBLANG_DEFAULT LOCALE_IDEFAULTANSICODEPAGE "0" LOCALE_IDEFAULTCODEPAGE "1" LOCALE_IDEFAULTCOUNTRY ""
- LOCALE_IDEFAULTEBCDICCODEPAGE "500"
- LOCALE_IDEFAULTEBCDICCODEPAGE "28593"
Somehow I doubt that your problem is caused by the EBCDIC codepage.
I didn't notice a problem in any particular application, I just noticed that there is an EBCDIC codepage for Esperanto and Wine is not using it. Windows doesn't seem to define an EBCDIC codepage for Esperanto at all, so maybe 500 is the right codepage to use anyway.
-Alex