<Swing Dev> RFR JDK-8244324: RTFEditorKit does not display some of Japanese characters correctly

Jayashree Sk1 jayashreesk at in.ibm.com
Mon Jun 1 12:12:37 UTC 2020


Hi Prasanta 

Please find the attached Jtreg testcase and the sample.rtf for this issue: 


Thanks
Jay

-----Vyom Tiwari <vyommani at gmail.com> wrote: -----
To: Prasanta Sadhukhan <prasanta.sadhukhan at oracle.com>, jayashreesk at in.ibm.com
From: Vyom Tiwari <vyommani at gmail.com>
Date: 06/01/2020 05:39PM
Cc: "swing-dev at openjdk.java.net" <swing-dev at openjdk.java.net>
Subject: [EXTERNAL] Re: <Swing Dev> RFR JDK-8244324: RTFEditorKit does not display some of Japanese characters correctly

Hi Prasanta,

sorry for the late reply, my teammate Jayashree will send you the test by today.

Thanks,
Vyom

On Mon, Jun 1, 2020 at 5:20 PM Prasanta Sadhukhan <prasanta.sadhukhan at oracle.com> wrote:
              
     Hi Vyom,
     
     
On 15-May-20 12:34 PM, Prasanta       Sadhukhan wrote:
                        Thanks Vyom. You could have proposed the patch yourself only...
       Anyways, I have tested with Font2DTest with all unicodes for         default Latin and it seems ok. Will you be able to test in other         CJK locales (as  I am not sure of the unicodes being displayed         correctly) just to ensure they are not adversely affected?
          Any feedback on CJK locale testing with your fix? If not, I am       afraid we need to retarget this fix for jdk16.
     Regards
     Prasanta
            Regards
       Prasanta
       
On 14-May-20 9:01 PM, Vyom Tiwari         wrote:
                                
           
Hi prasanta,           

                      
Code changes look OK to me, although I am not a expert in             this area, but  the same patch resolves the issue at our             end.           
Thanks,           
Vyom
                             
         
           
On Thu, May 14, 2020 at 4:20             PM Prasanta Sadhukhan <prasanta.sadhukhan at oracle.com>             wrote:
                                   
               Hi All,
               Please review a fix for an issue seen whereby                 RTFEditorKit used to read Japanese characters reads some                 garbage characters.
               The default character set used for the RTF document is                 set to "ansi" in our RTFReader.java. 
                 And share/classes/javax/swing/text/rtf/charsets/ansi.txt                 code table has undefined values , i.e., 91-98 and A0 are                 "0". According to javax/swing/text/rtf/RTFParser.java,                 If the ch is 0, handleText() is not called
               As per http://www.biblioscape.com/rtf15_spec.htm#Heading8,
               RTF file includes the following Character set in its                   header : 
                  <character set> 
                   (\ansi | \mac | \pc | \pca)? \ansicpgN? 
                  Where, 
                  \ansicpgN This keyword represents the default                   ANSI code page used to perform the Unicode to ANSI                     conversion when writing RTF text. N represents                   the code page in decimal. This is typically set to the                   default ANSI code page of the run-time environment                   (for example, \ansicpg1252 for U.S. Windows). The                   reader can use the same ANSI code page to convert ANSI                   text back to Unicode. This keyword should be emitted                   in the RTF header section right after the \ansi, \mac,                   \pc or \pca keyword. 
               
               Possible values include those in the following table.We                 can make use of ansicpgN (can switch ANSI text to                 Unicode), define it to refer to the                 latin1TranslationTable [RTFParser inherits it from                 AbstractFilter] which does not include undefined areas                 instead of ansi's translationTable which has undefined                 areas as seen above. 
               
               Bug: https://bugs.openjdk.java.net/browse/JDK-8244324
               webrev: http://cr.openjdk.java.net/~psadhukhan/8244324/webrev.0/
               Note: I am not able to create a testcase for this as it                 involves reading from rtf file which probably is                 copyrighted and inserting Japanese characters as a                 string (instead of rtf file) was not working.
               
                                          
         
         -- 
         
Thanks,
           Vyom                 

-- 
Thanks,
Vyom 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: sample.rtf
Type: application/rtf
Size: 48247 bytes
Desc: not available
URL: <https://mail.openjdk.java.net/pipermail/swing-dev/attachments/20200601/caf146e4/sample-0001.rtf>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: RTFJapaneseChatacters.java
Type: application/octet-stream
Size: 1204 bytes
Desc: not available
URL: <https://mail.openjdk.java.net/pipermail/swing-dev/attachments/20200601/caf146e4/RTFJapaneseChatacters-0001.java>


More information about the swing-dev mailing list