I am guessing there is a difference between how IME works on windows and how it works on the Mac? When I try it, everything works as you described it should. I type "taberu", I get the dialog, I hit space to accept, enter to move past what I typed and start typing again. It's different from how simplified Chinese seems to work. There I don't need to hit Enter. I just type "ni", space, "hao", space.
I did notice two other issues while I was digging through the code though. First, the IME composition box is not positioned properly. Second, what you type with IME enabled doesn't actually show up unless there is text present. I will fix both and see if I can repro this on my mac.
Edit: Can you double check something for me? UIInput.Update function, do this:
if (!string.IsNullOrEmpty(s))
{
Debug.Log(s); // <-- this right here
for (int i = 0; i < s.Length; ++i)
{
char ch = s[i];
if (ch >= ' ') Insert(ch.ToString());
}
}
See if you get the Debug.Logs while typing. In my case, on Win 8, I do not get anything until I actually hit Enter.
If you do get it, try changing the "if" to:
if (string.IsNullOrEmpty(Input.compositionString) && !string.IsNullOrEmpty(Input.inputString))