Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8148984

[macosx] Chinese Comma cannot be entered using Pinyin Input Method on OS X

    Details

    • Subcomponent:
    • Resolved In Build:
      b127
    • OS:
      os_x

      Backports

        Description


        Cannot input Chinese comma (fullwidth comma U+FF0C) in Java application on
        Mac OS using standard system Pinyin input method. A latin comma is inserted
        instead.


          Issue Links

            Activity

            Hide
            dbuck David Buck added a comment -
            jdk8132503 is a very similar issue.
            Show
            dbuck David Buck added a comment - jdk8132503 is a very similar issue.
            Hide
            dmarkov Dmitry Markov added a comment -
            testcase attached
            Show
            dmarkov Dmitry Markov added a comment - testcase attached
            Hide
            dmarkov Dmitry Markov added a comment -
            Steps to reproduce:
            1) Run attached simple program, file name: JTextFieldTest.java
            2) Make 'Pinyin - Simplified' an active input method
            3) Press ',' key on the keyboard while focus is inside application's text
            field.

            Expected result: fullwidth comma (U+FF0C) character is inserted, just like
            this happens in native applications (e.g. TextEdit). (This character takes
            noticeably more horizontal space than latin comma)

            Actual result: comma (U+002C) character is inserted.
            Show
            dmarkov Dmitry Markov added a comment - Steps to reproduce: 1) Run attached simple program, file name: JTextFieldTest.java 2) Make 'Pinyin - Simplified' an active input method 3) Press ',' key on the keyboard while focus is inside application's text field. Expected result: fullwidth comma (U+FF0C) character is inserted, just like this happens in native applications (e.g. TextEdit). (This character takes noticeably more horizontal space than latin comma) Actual result: comma (U+002C) character is inserted.
            Hide
            dmarkov Dmitry Markov added a comment -
            Problem description:
            'Latin comma' character is entered in text field component instead of the required 'fullwidth comma' character, when ',' character is pressed on the keyboard and Pinyin – Traditional or Simplified IM is enabled, because KeyEvent is generated instead of InputMethodEvent.

            Fix:
            It is necessary to generate InputMethodEvent for the characters from 'Halfwidth and Fullwidth Forms' Unicode block (U+FF00 - U+FFEF). So the method isCodePointInUnicodeBlockNeedingIMEvent() in AWTView.m should be updated.
            Show
            dmarkov Dmitry Markov added a comment - Problem description: 'Latin comma' character is entered in text field component instead of the required 'fullwidth comma' character, when ',' character is pressed on the keyboard and Pinyin – Traditional or Simplified IM is enabled, because KeyEvent is generated instead of InputMethodEvent. Fix: It is necessary to generate InputMethodEvent for the characters from 'Halfwidth and Fullwidth Forms' Unicode block (U+FF00 - U+FFEF). So the method isCodePointInUnicodeBlockNeedingIMEvent() in AWTView.m should be updated.
            Hide
            hgupdate HG Updates added a comment -
            URL: http://hg.openjdk.java.net/jdk9/client/jdk/rev/9c3c78efdf6d
            User: dmarkov
            Date: 2016-07-04 08:05:20 +0000
            Show
            hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk9/client/jdk/rev/9c3c78efdf6d User: dmarkov Date: 2016-07-04 08:05:20 +0000
            Hide
            hgupdate HG Updates added a comment -
            URL: http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/9c3c78efdf6d
            User: amurillo
            Date: 2016-07-13 03:50:56 +0000
            Show
            hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/9c3c78efdf6d User: amurillo Date: 2016-07-13 03:50:56 +0000
            Hide
            idergali Ilya Dergalin (Inactive) added a comment -
            Is it possible to create an automated test? Maybe robot or jemmy can be used to emulate input without switching input method?
            Show
            idergali Ilya Dergalin (Inactive) added a comment - Is it possible to create an automated test? Maybe robot or jemmy can be used to emulate input without switching input method?
            Hide
            idergali Ilya Dergalin (Inactive) added a comment -
            Is the issue applicable to JDK 7?
            Show
            idergali Ilya Dergalin (Inactive) added a comment - Is the issue applicable to JDK 7?

              People

              • Assignee:
                dmarkov Dmitry Markov
                Reporter:
                shadowbug Shadow Bug
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: