FULL PRODUCT VERSION :
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]
A DESCRIPTION OF THE PROBLEM :
This Problems is similar to JDK-6951501, EUDC character is not displayed on Swing(https://bugs.openjdk.java.net/browse/JDK-6951501).
Java 8 update 31, 40, 45, 51 displays EUDC characters, but Java 8 update 60 does not display EUDC characters.
I tried to type EUDC (End User Defined Character) into JTextArea.
Square character was displayed even if IME candidate window had this character.
REGRESSION. Last worked in version 8u51
ADDITIONAL REGRESSION INFORMATION:
java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. run "eudcedit", create font glyph into 0xF040 (U+E000), save it.
(Save it into EUDC file)
2. Compile and run attached testcase:
> javac JTextAreaTest2.java
> java JTextAreaTest2 1
2. Turn on MS-IME
3. Type "e000" and press F5 key
4. Candidate window has EUDC character, select it
5. Square character is displayed
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
EUDC character was displayed.
ACTUAL -
Square character was displayed.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import javax.swing.*;
import java.awt.*;
class JTextAreaTest2 extends JFrame {
JTextAreaTest2(String title) {
super(title);
Container c = getContentPane();
c.setLayout(new GridLayout(1,0));
c.add(new JTextArea());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 200);
setLocationByPlatform(true);
setVisible(true);
}
public static void main(String[] args) {
for(String title : args)
new JTextAreaTest2(title);
}
}
---------- END SOURCE ----------