RFC: Fixing kernel32:locale tests on Vista and higher

Greg Geldorp ggeldorp at vmware.com
Sun Aug 30 17:54:23 CDT 2009

From: Reece Dunn
> Does anyone understand what these are doing and (in a general sense)
> what the changes to Vista are?

When you specify the MAP_FOLDCZONE flag, FoldStringW() on Vista will try to return a "simple" presentation for the Unicode characters. For example, if you pass in 0x01c7 ("LATIN CAPITAL LETTER LJ", L and J combined into a single Unicode character, see http://www.fileformat.info/info/unicode/char/01c7/index.htm) then FoldStringW() will return two characters: the letter L (0x004c) and the letter J (0x004a). Versions prior to Vista simply returned the exact same code that you passed in for all codes < 0xf900.
Flag MAP_EXPAND_LIGATURES does something similar for ligatures.

> I suppose the main questions to ask are:
>   1/  are there applications that depend on the pre-Vista locale rules?
>   2/  are the Linux/*BSD/Mac/OpenSolaris (or glibc, uLibc, ...) locale
> rules *compatible* with Windows?
> I haven't seen anything on the locale changes for Vista breaking
> anything except the Wine tests. As a result, it should (in theory) be
> possible to use the native version. This would then remove the need
> for Wine to copy the Microsoft locale tables.

Right. But that wouldn't fix the current tests.


More information about the wine-devel mailing list