<i18n dev> <AWT Dev> RFR: 8212678 Windows IME related patch

Ichiroh Takiguchi takiguc at linux.vnet.ibm.com
Wed Jan 16 11:13:09 UTC 2019


Hello.

Could you review the fix ?

Bug:    https://bugs.openjdk.java.net/browse/JDK-8212678
Change: https://cr.openjdk.java.net/~itakiguchi/8212678/webrev.01/

3 issues were combined.
2 issues are recreatable on English Windows.

Screen shots and movies are attached into JDK-8212678.
Please check them.

I'd like to obtain a sponsor for this issue.

Thanks,
Ichiroh Takiguchi
IBM Japan, Ltd.

On 2018-11-18 22:22, Ichiroh Takiguchi wrote:
> Hello.
> 
> Could you review the fix ?
> 
> Bug:    https://bugs.openjdk.java.net/browse/JDK-8212678
> Change: http://cr.openjdk.java.net/~aleonard/winime/webrev.00/
> 
> Test instruction is in JDK-8212678.
> This fix may improve CJK IME operation.
> 
> I'd like to obtain a sponsor for this issue.
> 
> Thanks,
> Ichiroh Takiguchi
> IBM Japan, Ltd.
> 
> On 2018-06-15 02:26, Phil Race wrote:
>> This should go to i18n-dev as well.
>> 
>> -phil.
>> 
>> On 06/14/2018 10:14 AM, Ichiroh Takiguchi wrote:
>>> Hello,
>>> IBM would like to contribute Windows IME related Java Input Method 
>>> Framework patch to OpenJDK project.
>>> 
>>> Issue:
>>> This patch can fix following issues.
>>> A: Cannot display surrogate pair character on Windows floating IME 
>>> window for passive component
>>> B: Control Windows IME status by using InputSubset and UnicodeBlock 
>>> for CJK countries
>>> C: Check preedit string availability for Windows Chinese IME
>>> 
>>> To recreate each issue.
>>> 
>>> Issue A:
>>> 1. Run SwingSet2 Java demo program with Japanese IME.
>>> 2. Click InternalFrameDemo's "Frame 0".
>>> 3. Turn on Japanese IME, then type "2000B" and press F5 key.
>>> The character is not displayed properly. [1]
>>> 
>>> Issue B:
>>> Test program (ImSubsetsTest.java) is as follow:
>>> http://cr.openjdk.java.net/~aleonard/winime/ImSubsetsTest.java
>>> 
>>> 1. Compile and run ImSubsetsTest with CJK IMEs
>>> 2. Select language (ja:Japanese, ko:Korean, zh: Chinese).
>>> Windows IME (same langugae's one) should be turned on.
>>> 3. Click  JTextField (active component) or JButton (passive 
>>> component)
>>> (Please check IM status is changed or not)
>>> 4. Click different color's JTextField (active component) or JButton 
>>> (passive component)
>>> (Please check IM status is changed or not)
>>> 5. Following operations did not work
>>> Korean IME : HANJA->LATIN_DIGIT,BASIC_LATIN
>>> Chinese IME : FULLWIDTH_DIGITS->LATIN_DIGIT,BASIC_LATIN
>>> 
>>> Issue C:
>>> Test program is as follows:
>>> ======
>>> import javax.swing.*;
>>> 
>>> public class IMFTestA extends JFrame {
>>>   IMFTestA(int width, int height, int x, int y) {
>>>     super("JTextArea");
>>>     add(new JTextArea());
>>>     setSize(width, height);
>>>     setLocation(x, y);
>>>     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
>>>     setVisible(true);
>>>   }
>>>   public static void main(String[] args) {
>>>     new IMFTestA(300, 200, 0, 0);
>>>     new IMFTestA(300, 200, 300, 0);
>>>   }
>>> }
>>> ======
>>> 
>>> On Chinese IME (Microsoft Pinyin ABC),
>>> 1. Compile and run IMFTestA
>>> 2. Click one of JTextArea window, turn ON Chinese IME
>>> 3. Click the other window, turn ON Chinese IME
>>> 4. Type "nihao", then preedit string is displayed
>>> 5. Click the other window, turn OFF Chinese IME
>>> 6. Click the other window, preedit string is still displayed but it's 
>>> not convertable
>>> 
>>> Reason:
>>> Issue A, proper font is not specified for passive component
>>> Issue B, IME mode setting for CJK Windows IME is not correct
>>> Issue C, Chinese Windows IME shares IME status between windows, Java 
>>> needs to check preedit string is available or not
>>> 
>>> I'd like contribute following 3 files:
>>> M src/java.desktop/windows/classes/sun/awt/windows/WInputMethod.java
>>> M src/java.desktop/windows/native/libawt/windows/awt_Component.cpp
>>> M src/java.desktop/windows/native/libawt/windows/awt_InputMethod.cpp
>>> http://cr.openjdk.java.net/~aleonard/winime/webrev.00/
>>> 
>>> I appreciate any feedback please, and how I would go about obtaining 
>>> a sponsor and contributor?
>>> 
>>> [1] http://unicode.org/cgi-bin/GetUnihanData.pl?codepoint=2000B
>>> 
>>> Thanks,
>>> Ichiroh Takiguchi
>>> IBM Japan, Ltd.
>>> 



More information about the i18n-dev mailing list