JDK-8148984 : [macosx] Chinese Comma cannot be entered using Pinyin Input Method on OS X
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 8u72,9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: os_x
  • Submitted: 2016-02-03
  • Updated: 2016-11-28
  • Resolved: 2016-07-04
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 JDK 9
8u102Fixed 9 b127Fixed
Related Reports
Relates :  
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.



Comments
Is the issue applicable to JDK 7?
28-07-2016

Is it possible to create an automated test? Maybe robot or jemmy can be used to emulate input without switching input method?
28-07-2016

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.
17-06-2016

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.
17-06-2016

testcase attached
17-06-2016

jdk8132503 is a very similar issue.
28-03-2016