Not fixed in 14w34d.
Windows 8.1 64 bit, Java 1.7.0, vanilla launcher, Microsoft IME 2012 using Japanese.
"Keyboard Input (Windows)" from MSDN explains what kind of Windows Messages are sent from the IME.
I haven't figured out how Messages are handled in LWJGL, but these are the classes that actually handle them.
https://github.com/LWJGL/lwjgl/blob/55bfecf5149cf79aa4f8fc1293001986cfae3a2b/src/java/org/lwjgl/opengl/WindowsDisplay.java
https://github.com/LWJGL/lwjgl/blob/849511784b7651bd30ab35e0ff10c023f28cca9a/src/java/org/lwjgl/opengl/WindowsKeyboard.java
Somehow the Keyboard class can access the information. I do not know how.
https://github.com/LWJGL/lwjgl/blob/bafa7a1972718abf0f2304124a46ae3fa67be7df/src/java/org/lwjgl/input/Keyboard.java
Minecraft + LWJGL can handle CJK text properly.
What it can't do is to handle IME input properly
Run Minecraft 1.7.9 and leave it on chat mode, and paste the following on Windows PowerShell.
"これはテストです" will be displayed in the chat input.
[void] [System.Reflection.Assembly]::LoadWithPartialName("'Microsoft.VisualBasic")
[Microsoft.VisualBasic.Interaction]::AppActivate("Minecraft 1.7.9")
[void] [System.Reflection.Assembly]::LoadWithPartialName("'System.Windows.Forms")
[System.Windows.Forms.SendKeys]::SendWait("これはテストです")
How input from the Windows PowerShell script and the IME are handled in LWJGL can be easily checked with my small test program.
LWJGL-Input-Test
Change the PowerShell script from "Minecraft 1.7.9" to "Game".
--- exec-maven-plugin:1.2.1:exec (default-cli) @ LWJGL_Test ---
true :こ
true :れ
true :は
true :テ
true :ス
true :ト
true :で
true :す
false :あ
false :い
false :え
false :む
false :い
false :ー
While "これはテストです" is from PowerShell, "あいえむいー" is from the IME.
The boolean shown on the left is the value of Keyboard#getEventKeyState() from LWJGL.
GuiScreen#handleKeyboardInput() in net.minecraft.client.gui discards inputs if Keyboard#getEventKeyState() is false.
This is preventing IME input from being handled properly.
@unknown, this bug will only get fixed when Mojang understands that bug is a major problem among CJK users.
Please try to persuade others to vote for this bug. If we get enough votes, Mojang might feel like fixing this bug.
Bug is still reproducible in 1.7.2 release.
Tested with lwjgl 2.9.0 (original) and lwjgl 2.9.1 nightly (2013/10/28) in Windows 8.
Probably you'll have a better chance getting the bug fixed if you do the following:
1. You don't seem to have attached the crash report properly.
You should probably use the "Attach Files" button on the top of the page to upload that.
2. You should probably provide more information about the bug to get it fixed.
Are you able to reproduce the bug?
Does it happen frequently?
Does it happen to every server you connect?
Are you using a vanilla client or a modded client?
Are you connecting to a vanilla server or a CraftBukkit server?
The cause of this bug is in GuiScreen#handleKeyboardInput().
Keyboard#getEventKeyState() returns false for non-keyboard input.
Since IME inputs are treated as non-keyboard input this cause Minecraft to reject most of the IME input.
Replacing this to "true" solves the problem (probably causes other problems but it still solves the IME issue).
Checked it with the decompiled 1.6.2 using MCP 8.04.
Adding all chars to font.txt is not a good idea.
If you're going to be adding CJK characters to font.txt you'll end up with a font.txt containing thousands of characters.
probably getting rid of font.txt is the way to go.
As far as I know MC-3305 was originally an bug which typed wrong letters instead of Cyrillic (which probably was an LWJGL bug).
It seems though that all other issues relating to font.txt has been set as duplicate of that issue which makes it confusing.
Just came here from MC-14427.
This bug report looks to be 5 months old, but the bug hasn't been confirmed yet.
Any chance of getting it confirmed?
This looks like a similar problem to MC-7374.
Not sure why that bug report has been handled as a duplicate of MC-3305 because the summary and description doesn't look like the same problem at all.
I have checked that I can't type Japanese on signs in 13w16a.
(Just simply copy-pasting something like "これはテストです" would be enough to reproduce the problem)
To check if this is an LWJGL bug I wrote a simple program which prints characters obtained by Keyboard.getEventCharacter().
https://github.com/jetkiwi/LWJGL-Input-Test
Using this program, I was able to check that LWJGL does pass on IME input.
I also checked the decompiled 1.5.1 source and I found that in net.minecraft.src.GuiScreen,
handleKeyboardInput() uses Keyboard.getEventCharacter() to obtain the keyboard input.
So Minecraft is receiving IME input from LWJGL but seems to loose it somewhere.
The summary of this bug should be changed since this is an IME related issue and also affects Japanese and other languages which uses IME.
The same bug with Japanese is reported in the comments.
In 13w16a:
*You can't type if you don't select from the list
*You can type if you select from the list, but only the first character will appear
Able to reproduce this with 1.8 pre1, using AMD Radeon HD 5770.