Console output with different codepages - the result.
Eric Pouech
eric.pouech at wanadoo.fr
Sat May 5 04:50:33 CDT 2007
Kirill K. Smirnov a écrit :
>> В сообщении от 23 апреля 2007 16:11 вы написали:
>>
>>> "Kirill K. Smirnov" <lich at math.spbu.ru> wrote:
>>>
>>>>>>> The written strings in 866 and 1251 code pages are only readable
>>>>>>> when output console code page matches the string encoding.
>>>>>>>
>>>>>> This is in wine.
>>>>>> In windows only cp866 is readable regardless of ConsoleOutputCP.
>>>>>>
>>>>> As I said I tested under Windows (XP) only, and SetConsoleOutputCP
>>>>> does change the behaviour of WriteConsoleA for me. If it wouldn't
>>>>> I'd call it a bug.
>>>>>
>>>> I tested under Windows 2003 and SetConsoleOutputCP does NOT change the
>>>> behaviour of WriteConsoleA for me.
>>>> Does Windows play us a trick?
>>>>
>>> No the difference in observed behaviour was caused by the fact that I ran
>>> the test under FAR, once I run it under cmd.exe I see what you do.
>>>
>> Ahhh, I understood!!!
>>
>> You test does not return codepage back to 866. My version of your test does
>> it.
>> Far Manager somehow checks codepage and converts characters accordingly.
>> I've removed the last convertion back to cp866 and observed the same
>> behaviur as you.
>>
>> Thus, I can proclaim WriteConsoleA buggy.
>>
>
> The final result:
> 1) WriteConsoleA is OK - while preparing the tests the truth was revealed.
> 2) The main issue is hidden in Windows console renderer. I've tried three
> different ways: windowed with TrueType font (lucida), windowed with Fixedsys
> font and fullscreen mode.
> a) Lucida Console font: the behaviour in wine and windows the same. (Dmitry
> observed this).
> b) Fixedsys:
> wine - the same as with Lucida Console font - nothing changed.
> windows - only cp866 is OK. (I observed this)
> c) Fullscreen. In this case font codepage is changed immediately: previously
> written text is changed. This behaviour in unique for fullscreen mode.
>
> Thus I can conclude that console codepages are used by console renderer too,
> not just by WriteConsoleA.
> Should this windows behaviour be implemented in wine? I think no, it is too
> insane and needless. But this should be kept in mind, maybe update docs?
>
just a dummy question... does the different fonts your tests refer to
have all the glyphs required ? (or said differently, isn't this a font
issue about the required glyphs for russian ?)
A+
--
Eric Pouech
"The problem with designing something completely foolproof is to underestimate the ingenuity of a complete idiot." (Douglas Adams)
More information about the wine-devel
mailing list