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

Ichiroh Takiguchi takiguc at linux.vnet.ibm.com
Mon Feb 4 12:53:44 UTC 2019


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.
>>>>> 



More information about the i18n-dev mailing list