Error messages when typing Hebrew characters

Shachar Shemesh wine-devel at sun.consumer.org.il
Fri Jun 7 10:30:06 CDT 2002


Dmitry Timoshkov wrote:

>"Shachar Shemesh" <wine-devel at sun.consumer.org.il> wrote:
>
>  
>
>>I tried repeating Hetz's experiment, and run the command "LANG=he_IL 
>>wine notepad", and then type a few (random) Hebrew chars. I get the 
>>following messages on screen:
>>
>>Warning: Language 'he_IL' was not found, retrying without country name...
>>    
>>
>
>Probably LOCVAL(LOCALE_SISO3166CTRYNAME,"HE") in dlls/kernel/nls/heb.nls is
>wrong and "HE" should be replaced by "IL" (at least Windows 2000 reports "IL").
>Windows2000 also reports LOCALE_SISO639LANGNAME = "iw". It would be a good
>idea to revise all fields in that file.
>  
>
I'll have a look, but I don't think its related to the problem I 
reported here. In any case, I changed "HE" to "IL", and the warning 
message disappeared, but the rest of the messages remained the same. I 
suspect it doesn't matter one way or the other, as the match would have 
still been made with the language name, and chosen the right locale.

>>fixme:edit:EDIT_EM_FmtLines soft break enabled, not implemented
>>fixme:win:GetProcessDefaultLayout ( 0x40556df4 ): No BiDi
>>err:keyboard:X11DRV_ToUnicode Please report: no char for keysym 0CEA 
>>(hebrew_finalkaph) :
>>err:keyboard:X11DRV_ToUnicode (virtKey=4C,scanCode=26,keycode=2E,state=2010)
>>err:keyboard:X11DRV_ToUnicode Please report: no char for keysym 0CF9 
>>(hebrew_shin) :
>>err:keyboard:X11DRV_ToUnicode (virtKey=41,scanCode=1E,keycode=26,state=2010)
>>err:keyboard:X11DRV_ToUnicode Please report: no char for keysym 0CEC 
>>(hebrew_lamed) :
>>err:keyboard:X11DRV_ToUnicode (virtKey=4B,scanCode=25,keycode=2D,state=2010)
>>err:keyboard:X11DRV_ToUnicode Please report: no char for keysym 0CE3 
>>(hebrew_dalet) :
>>err:keyboard:X11DRV_ToUnicode (virtKey=53,scanCode=1F,keycode=27,state=2010)
>>
This is of particular strangness, as E3 *is* the right character for 
hebrew_dalet, and all I could see that the missing function SHOULD do is 
do this translation.

>>
>>I tried following X11DRV_ToUnicode around a bit, but hit a brick wall at 
>>the X11 function "TSXKeysymToString". Anyone has any idea why the Hebrew 
>>characters are not being translated correctly (the character names are 
>>correct).
>>    
>>
>
>First of all: are hebrew keyboard input works in a native X11 text editor?
>
Yes. Mozilla, kedit, using the same keymap, issue Hebrew characters just 
fine.

>What reports xev? (And it would be a good idea to add setlocale(LC_CTYPE,"");
>at the very first lines of xev.c, recompile it, and check whether it still
>works).
>
I did not setlocale as you suggested, but I did not set LANG= anything 
when running it either. My environment did not contain any LANG or LC 
settings at all.

KeyPress event, serial 30, synthetic NO, window 0x2200001,
    root 0x31, subw 0x0, time 1260238500, (89,131), root:(681,151),
    state 0x2010, keycode 38 (keysym 0xcf9, hebrew_shin), same_screen YES,
    XLookupString gives 0 characters:  ""

KeyRelease event, serial 30, synthetic NO, window 0x2200001,
    root 0x31, subw 0x0, time 1260238535, (89,131), root:(681,151),
    state 0x2010, keycode 38 (keysym 0xcf9, hebrew_shin), same_screen YES,
    XLookupString gives 0 characters:  ""

>
>  
>

I don't know how to read xev's output, so I do not know what to look for 
(nor do I know what it is that TSXKeysymToString is supposed to do, or 
what configuration file it depends on).

Trying to look the function up only returned "XKeysymToString". 
According to it, "hebrew_shin" should be translated according to 
X11/keysymdef.h, which has the following line:
#define XK_hebrew_shin                                 0xcf9

In other words - there is every indication that this should have worked. 
Unless, of course, I have mislabled "TSXKeysymToString" as 
"XKeysymToString", which, quite frankly, is highly probable due to the 
use it gets.

                    Shachar





More information about the wine-devel mailing list