Anatoly Lyutin : wineconsole: Add support for non-latin symbols with
curses .
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Jan 17 05:21:38 CST 2007
Module: wine
Branch: master
Commit: 6ee85a61f29fcf8cab92a71c1fb8f2fb2be13c62
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6ee85a61f29fcf8cab92a71c1fb8f2fb2be13c62
Author: Anatoly Lyutin <vostok at etersoft.ru>
Date: Fri Jan 12 18:03:34 2007 +0300
wineconsole: Add support for non-latin symbols with curses.
---
programs/wineconsole/curses.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/programs/wineconsole/curses.c b/programs/wineconsole/curses.c
index 14637b1..30ae89a 100644
--- a/programs/wineconsole/curses.c
+++ b/programs/wineconsole/curses.c
@@ -365,7 +365,7 @@ static void WCCURSES_Refresh(const struc
{
WideCharToMultiByte(CP_UNIXCP, 0, &cell[x].Char.UnicodeChar, 1,
&ch, 1, NULL, NULL);
- attr = ((BYTE)ch < 32 || (BYTE)ch > 127) ? 32 : (BYTE)ch;
+ attr = ((BYTE)ch < 32) ? 32 : (BYTE)ch;
if (cell[x].Attributes & FOREGROUND_RED) attr |= COLOR_PAIR(COLOR_RED);
if (cell[x].Attributes & FOREGROUND_BLUE) attr |= COLOR_PAIR(COLOR_BLUE);
@@ -487,6 +487,7 @@ static unsigned WCCURSES_FillSimpleChar(
{
unsigned vk;
unsigned inchar;
+ char ch;
unsigned numEvent = 0;
DWORD cks = 0;
@@ -538,8 +539,9 @@ static unsigned WCCURSES_FillSimpleChar(
ir[numEvent].Event.KeyEvent.dwControlKeyState |= LEFT_ALT_PRESSED;
ir[numEvent].Event.KeyEvent.wVirtualKeyCode = vk;
ir[numEvent].Event.KeyEvent.wVirtualScanCode = mapvkey_0[vk & 0x00ff]; /* VirtualKeyCodes to ScanCode */
- ir[numEvent].Event.KeyEvent.uChar.UnicodeChar = (unsigned char)inchar;
+ ch = inchar;
+ MultiByteToWideChar(CP_UNIXCP, 0,&ch,1,&ir[numEvent].Event.KeyEvent.uChar.UnicodeChar, 1);
ir[numEvent + 1] = ir[numEvent];
ir[numEvent + 1].Event.KeyEvent.bKeyDown = 0;
More information about the wine-cvs
mailing list