I was working on multilanguage text input in my application and wanted to verify that the way input is displayed in my application while typing actually made sense to a native.
The only person I know using composed characters/glyphs happens to be from Cambodia which uses Khmer - so I got appropriate fonts and added Khmer to my Windows installation.
Now, compared to Japanese and Chinese input which both work flawlessly, pretty much all input (or keystrokes if you like), except for some punctuation (e.g. “.”, “,” which are produced using shift as modifier) return only one byte through event.text.text (provided by the SDL_TEXTINPUT event) with the code 63 which is a “?”.
However copy&pasting khmer text from websites into the application works perfectly. Just the keyboard events don’t yield usable data.
This leads me to believe that information is lost somewhere. I also feel I should receive SDL_TEXTEDITING events, but am not 100% sure on that.
I have noticed that whether or not I am using SDL_StartTextInput() does not make any difference independent of the language used (shouldn’t this be important to be able to process Japanese input?!?).
For what it’s worth, I am currently using mingw-w64 with gcc-4.8 and SDL2 build 7139. Has anyone come across anything similar yet?