Chinese text input into Notes R6 Mail field (windows/defwnd.c ??)

leanne leanne at thizlinux.com
Thu May 2 03:32:01 CDT 2002


leanne wrote:

>leanne wrote:
>
>>Daniel Schwarz wrote:
>>
>>>>Actually Aric and Ulrich helped a lot and they provided us the patch you
>>>>Codeweavers did for your clients and Aric has
>>>>gained permission to open the source.  Since he needs to clean up the
>>>>code, he suggested to let him post the patch when it's
>>>>done.
>>>>
>>>>I used it to try for Chinese Input on Notes Client r6.  Unfortunately,
>>>>it only works on some controls.
>>>>When I want to type Chinese/Japanese on the mail content area ( do not
>>>>know what kind of widget it is),
>>>>it doesn't show properly.  I think it's a bug.  Could you kindly help?
>>>>Which segment of code I should trace on?
>>>>
>>>I have not used Notes R6 extensively but based on my understanding of the
>>>Notes R4 - R5 code, the mail content area is a Notes Rich Text field,
>>>which is implemented internally to Notes. It's not a Windows control
>>>therefore will not be responsive to code that hooks into Windows controls.
>>>
>>>Notes is localized for many countries,including, I think, Chinese,
>>>although the Notes R6 Beta is probably US-English only. I suggest you
>>>experiment with a copy of Notes R5 with Chinese localization.
>>>
>>We have tried with R5 and the result was the same.
>>and when I typed "§A" (Chinese of "you"), I got unicode 4f60 in
>>windows/defwnd.c
>>
>>
>>LRESULT WINAPI DefWindowProcA( HWND hwnd, UINT msg, WPARAM wParam,
>>LPARAM lParam );
>>
>>case WM_IME_CHAR:
>>charW = wParam;
>>printf("DefWindowProcA WM_IME_CHAR %08x\n", charW); // I got it correct!
>>- 4f60 (unicode of "you" in Chinese)
>>
>>//Is there something wrong here?
>>
>or it does not cater for Asian characters coz it seemed seperating 2
>bytes to send for output.
>When I replaced with
>SendMessageA(hwnd, WM_CHAR, wParam, lParam);
>
>It does not display any characters.
>

or I should modify dlls/richedit/richedit.c?

Many thanks.

>
>>
>>{
>>CHAR chChar1 = (CHAR)( (wParam>>8) & 0xff );
>>CHAR chChar2 = (CHAR)( wParam & 0xff );
>>
>>SendMessageA( hwnd, WM_CHAR, (WPARAM)chChar1, lParam );
>>if ( IsDBCSLeadByte( chChar1 ) )
>>SendMessageA( hwnd, WM_CHAR, (WPARAM)chChar2, lParam );
>>}
>>
>>break;
>>
>>
>>>If you need technical details on how localized versions of Notes handle
>>>alternate keyboard input methods, let me know and I'll see what I can dig
>>>up.
>>>
>>>Regards,
>>>
>>>Dan Schwarz
>>>http://www.winecentric.com/wiki
>>>The Wine Wiki
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>
>
>
>
>







More information about the wine-devel mailing list