Ticket #311 (new 新機能/拡張)

Opened 2 years ago

Last modified 2 years ago

Meadow to support Chinese Big5/GB

Reported by: liyuray@gmail.com Assigned to:
Priority: major Milestone:
Component: UI Version: 3.00 (開発中)
Keywords: Cc:

Description

Hi there, Following is copied from the `M-x report-emacs-bug'

From: <yj_lee@YJ_LEE> To: Pretest Bug <meadow-develop@meadowy.org> Subject: Meadow to support Chinese Big5/GB --text follows this line--

Please write in English if possible, because the Emacs maintainers usually do not have translators to read other languages for them.

Your bug report will be posted to the Pretest Bug <meadow-develop@meadowy.org> mailing list.

Please describe exactly what actions triggered the bug and the precise symptoms of the bug:

The MW32-IME now cannot support Chinese Big5/GB. As far as I can understand from the source code now, In file "mw32ime.c", the ImmGetCompositionStringA() is used to get the result of IME composition. But ImmGetCompositionStringA() cannot support characters other than the locale setting. The code should somehow use ImmGetCompositionStringW() to get unicode of the composed character. Or maybe there is some other way to achive same thing.

BTW, in vim/src/gui_32.c, function GetCompositionString?_inUCS2() tries to use ImmGetCompositionStringW() before invoking ImmGetCompositionStringA(). Maybe this is a good reference for the Meadow team.

I'm interested in emacs internationalization. And if possible, I'm glad to contribute to this part.

If emacs crashed, and you have the emacs process in the gdb debugger, please include the output from the following gdb commands:

bt full' and xbacktrace'.

If you would like to further debug the crash, please read the file c:/meadow/etc/DEBUG for instructions.

In GNU Emacs 22.0.50.1 (i386-mingw-nt5.1.2600)

of 2006-06-24 on CUBE

URL: http://svn.meadowy.org/Meadow/trunk Last Changed Rev: 4095 Last Changed Date: 2006-06-18 08:24:02 +0900 (Sun, 18 Jun 2006) X server distributor `MW32', version 11.0.1 configured using `configure --with-gcc (3.4)'

Important settings:

value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_GB locale-coding-system: cp932 default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:

encoded-kbd-mode: t tooltip-mode: t tool-bar-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t unify-8859-on-encoding-mode: t utf-translate-cjk-mode: t auto-compression-mode: t line-number-mode: t

Recent input: <help-echo> <help-echo> <help-echo> <help-echo> <help-echo> <down-mouse-1> <mouse-1> M-x r e p o r t SPC e SPC SPC <return>

Recent messages: (C:\meadow\bin\Meadow.exe) Loading encoded-kb...done Loading advice...done For information about the GNU Project and its goals, type C-h C-p. Loading emacsbug... Loading regexp-opt...done Loading emacsbug...done

Attachments

Change History

07/11/06 23:06:36 changed by miyoshi

Yes, you are right.

We should use W APIs(ex: ImmGetCompositionStringW) instead of A APIs(ex: ImmGetCompositionStringA).

The only reason we don't use W APIs currently is our consideration for Windows95/98 on which W APIs are not available. It's quit bothersome to support both these platforms and the others.

I would be glad to install your contribution in the Meadow repository, if it meets the following requirement.

  • Single binary module should be executable on Windows 9x/NT/2000/XP

BTW, Where can I get `vim/src/gui_32.c'. I cannot find out it in the archive of vim.

Thank you.

07/14/06 13:55:11 changed by anonymous

三好さん、 返事ありがとうございます。 実は、今ほんとうのcontributionはまだありません。すみません。 少しソースを読んだぐらいです。

ちなみに、`vim/src/gui_32.c'は VIMのソースファールです。 下記のであります。 http://svn.sourceforge.net/viewcvs.cgi/vim/vim7/src/gui_w32.c?view=markup

Miyoshi san, Thank you for your reply. I learnt a little bit Japanese. I think wrinting in Japanese is interesting. So I wrote some as above. Hope you can understand. To avoid misunderstanding. I repeat here again in English.

Actually I don't have any real contribution now. I only have some brief study on the source code. I found VIM already can support IME in unicode very well. The implementation looks flexible to support Windows 95/98/ME. You can check the source code as the URL below. http://svn.sourceforge.net/viewcvs.cgi/vim/vim7/src/gui_w32.c?view=markup

BTW, GNU emacs does not have IME support very well. Do you have plan to contribute the IME works on Meadow to GNU Emacs. Thanks!

Li

07/16/06 19:00:44 changed by miyoshi

Actually I don't have any real contribution now.

Take it easy please.

You can check the source code as the URL below.

Oh! Thanks. This is a pretty good example.

I didn't know Imm32.dll on Windows95 has entries for W APIs, which don't work correctly.

Do you have plan to contribute the IME works on Meadow to GNU Emacs. Thanks!

We don't have a concrete plan currently.

Some code of Meadow has been merged into Emacs on Windows or NTEmacs (search the word, "himi" or "Miyashita"). And some other code has been rejected. But I don't know why IME related code hasn't been merged into Emacs.

07/25/06 12:24:30 changed by anonymous2

Meadow3で MS-IMEで UNICODEの文字を入力できないのは、この話と同じ問題でしょうか?

たとえば ™ という文字(TMを一文字にしたもの)がありますが、MS-IMEで入力して確定すると ? になってしまいます。

describe-char すると ascii コードで 63 になっているので、ただのクエスチョンマークになっています。

07/25/06 20:59:56 changed by miyoshi

はいその通りです。下記を参照してください。

http://www.ysnb.net/meadow/meadow-develop/2006/msg00266.html

07/27/06 12:32:05 changed by anonymous2

なるほど。昔からわかってたことのようですね。 対応されるのを気長に待ちます。


Add/Change #311 (Meadow to support Chinese Big5/GB)




Change Properties
Action