Hi Prasanta,

I think it would be wise to generate InputMethodEvent for ‘Fullwidth currency 
symbols’, as well.

Thanks,
Dmitry 

> On 17 Sep 2018, at 10:02, Prasanta Sadhukhan <prasanta.sadhuk...@oracle.com> 
> wrote:
> 
> Hi All,
> 
> Please review a fix for an issue where
> when "yen" symbol is entered from a keyboard using Romaji keyboard layout 
> using "backslash" character, it was showing a "backslash" character 
> rather than "yen" symbol.
> 
> This is a regression of JDK-8068283 
> <https://bugs.openjdk.java.net/browse/JDK-8068283> where the check to control 
> JNI invocation of "sun.lwawt.macosx.CInputMethod.insertText(String)" is 
> changed from 
> "if ([self hasMarkedText] || !fProcessingKeystroke || (utf8Length > 1))
> to 
> if ([self hasMarkedText] || !fProcessingKeystroke || (utf16Length > 2))
> 
> Now, in this case for "yen" symbol, the utf16Length is 2 so InputMethodEvent 
> is not generated, rather a KeyEvent is generated for "\" character.
> This check was again modified for JDK-8132503 
> <https://bugs.openjdk.java.net/browse/JDK-8132503> where the check for 
> unichar belongs to certain unicode block is introduced
> 
> (utf8Length > 1) && [self isCodePointInUnicodeBlockNeedingIMEvent:[useString 
> characterAtIndex:0]]
> 
> Now, there although utf8Length is 2 the check for codepoint is complex or not 
> does not take into account "unicode" currency symbols. 
> It only takes into account CJK symbols and punctuations and "Halfwidth and 
> Fullwidth Forms' Unicode block.
> 
> Proposed fix also add "currency" symbol unicode 
> [[https://www.fileformat.info/info/unicode/category/Sc/list.htm 
> <https://www.fileformat.info/info/unicode/category/Sc/list.htm>]
> in the mix so that we can have InputmethodEvent generated for currency 
> symbols.
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8191178 
> <https://bugs.openjdk.java.net/browse/JDK-8191178>
> webrev: http://cr.openjdk.java.net/~psadhukhan/8191178/webrev.0/ 
> <http://cr.openjdk.java.net/~psadhukhan/8191178/webrev.0/>
> 
> Regards
> Prasanta

Reply via email to