This is because 'LANGUAGE LANG_xxxx' statements don't actually change code page specified by a previous '#pragma code_page(xxxx)', therefore russian resources get translated to unicode using wrong code page. I don't know whether it's an rc bug or a feature. We either need to remove '#pragma code_page' statements altogether, or add them to all included .rc files. I took the 1st approach.
Changelog: Dmitry Timoshkov dmitry@codeweavers.com Remove unnecessary #pragma code_page(xxxx) statements from winefile .rc files, they confuse the resource compiler.
Please be carefull to remove the code page pragmas. IMHO this is not the correct way. When there is no other code page given, the resource compiler uses the current code page of the operating system. And I don't think, all of those language specific resource scripts will compile correct on all possible OS code pages. The reliable way would be to include the correct code page at the begin of all resource scripts. Please take in mind: Wine is compiled on many different environments: LANG_C, de_DE.ISO-8859-1, en_EN.UTF-8, swedish, or whatever... Removing the code page pragmas would require to test the correctness of the compilation results of all different languages on all possible platforms.
Regards,
Martin
"Martin Fuchs" martin-fuchs@gmx.net wrote:
Please be carefull to remove the code page pragmas. IMHO this is not the correct way. When there is no other code page given, the resource compiler uses the current code page of the operating system. And I don't think, all of those language specific resource scripts will compile correct on all possible OS code pages.
This not a problem with Wine resource compiler. wrc correctly compiles russian resources in my linux system with en_US locale, so I presume that all other languages should be handled correctly as well. If that's not the case for microsoft's rc, I'd consider it a bug in their tool.