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

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Thu Feb 14 00:36:42 UTC 2019


Hi, Ichiroh.

The fix looks fine, it will be good if someone from i18n team will take a look.

On 04/02/2019 04:53, Ichiroh Takiguchi wrote:
> Hello.
> 
> Could you review the fix and give me your suggestion, please ?
> JDK-8212678 [1] has screen shots and movies.
> Please check them also.
> 
> [1] https://bugs.openjdk.java.net/browse/JDK-8212678
> 
> Thanks,
> Ichiroh Takiguchi
> 
> On 2019-01-23 21:18, Ichiroh Takiguchi wrote:
>> Hello.
>>
>> Could you review the fix and give me your suggestion ?
>>
>> Thanks,
>> Ichiroh Takiguchi
>>
>> On 2019-01-16 20:13, Ichiroh Takiguchi wrote:
>>> 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.
>>>>>>
> 


-- 
Best regards, Sergey.


More information about the i18n-dev mailing list