IME Support

IME Support

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

Post Reply
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

IME Support

Post by gajop »

IME (Input method editor) is a program which allows keyboard strokes to be transformed into characters and is particularly useful for CJK (Chinese, Japanese and Korean) languages which have a large amount of characters and you need multiple keystrokes in order to produce one character.

In order to support IMEs better, one should specify where the text is written in the application, so the IME program would display its content near that position.
Example given:
ime.png
(145.83 KiB) Downloaded 2 times
While having good IME support isn't necessary in order to have some i18n support (http://springrts.com/wiki/Project_propo ... on_support), it's pretty important.

This is what we have with Spring currently:
ime-fail.png
(303.31 KiB) Downloaded 2 times
So in order to get IME running, one must tell the window system where it should spawn the IME content (and it will relay that to whatever IME program is running). One way to do that would be to use SDL, which has a function for that: http://wiki.libsdl.org/moin.fcg/SDL_SetTextInputRect, but that seems to require SDL 2.0+: http://comments.gmane.org/gmane.comp.lib.sdl/48403. To make matters worse I've checked the SDL 2.0 implementations and it seems that there is no x11 (linux desktop window system) implementation, while there are android, cocoa, bwindow and windows ones.

I also didn't manage to find anything useful in the X11 documentation, might've missed that though: http://www.x.org/releases/X11R7.6/doc/l ... ut_Methods

Conclusion/TLDR:
Any idea how to make IME properly set its position in Spring on all Spring-supported systems?

PS: I don't actually play many games with a running IME, but it may also make sense to disable it while not chatting (so commands would still work) so the user doesn't have to toggle it manually every time he wants to chat. But I think having positions sorted would be a first step...
User avatar
jK
Spring Developer
Posts: 2299
Joined: 28 Jun 2007, 07:30

Re: IME Support

Post by jK »

first add unicode support to engine?
Post Reply

Return to “Engine”