JDK-6449486 : Few Hindi glyph formations are failing on Win-Vista only
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 1.4.2,1.4.2_13,5.0u10,5.0u8,6
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS:
    generic,solaris_2.5.1,windows_2000,windows_vista generic,solaris_2.5.1,windows_2000,windows_vista
  • CPU: generic,x86,sparc
  • Submitted: 2006-07-17
  • Updated: 2014-02-27
  • Resolved: 2006-11-23
Related Reports
Duplicate :  
Description
Build: 1.5.0_U8 b03
Platform: Windows Vista 5384 32bit 


1)Install 32bit version of this JDK build on  Wind-Vista 5384  platform
2)Set the JAVA_HOME & PATH variables
3)Set the locale to hindi
4)Use any jdk-demo apps: go to $JAVA_HOME/demo/jfc/Notepad application
5)Input the following combinations of text  

[I] Input using the Unicode Hex values directly:
(a) \U0924 + \U094D + \U0930 
(b) \U0936 + \U094D + \U0930
(c) \U0915 + \U0948 + \U0938 + \U0947 [should form word called "kaise". Note that the 
\U0948 is not getting formed correctly with other chars]

OR

[II} In INSCRIPT mode of Hindi input , you may directly press the following Keys  to see the same problems:
(a) Press " l + d + j " : these 3 should form one glyph [The same glyph can be directly entered by just presssing the key " ^ "  in Inscript mode]
(b) Press " M + d + j " " these 3 should form one glyph[The same glyph can be directly entered by just presssing the key " * "  in Inscript mode]
(c) Press "k + w + m + s" : this should result in "kaise"


You will notice the failure in the formation of these glyphs. 
So far the problem was observed mainly when we have combination with [\U094D + \U0930] and  [\U0948] 

NOTE:
1)You may execute the testsuite " gs15UR-b03.tar " using the testlist for hi_IN locale also & see the problems in output for all the testcases
2) I have attached some snapshot JPG files from these testcases---the image shows the output on left-hand-side with golden image(or expected result)on the right-hand side in this image. The problems are marked in these files.

NOTE:
Tested on Solaris platform & NOT reproducable.

Comments
EVALUATION The fix to this in JDK5u11 is to bakport the JDK6 layout engine. This is a simple drop in replacement. The only JDK5 change needed to acccomodate this is to change a flag from a boolean to an int. We did notice one bug in testing this that also manifested on JDK 6 - an incorrect sign in a y adjustment processing mark positioning caused problems under font rotation transforms. This is not currently a problem on JDK6 because there it presently extracts out the rotation before invoking layout.
19-10-2006

EVALUATION The remaining problem that was seen on 1.5 updates was also visible on JDK 6, up to b38 and was fixed in b39. That coincides with a refresh of ICU layout code, so the remaining problem does seem to be a JDK bug and not a Vista problem. Looks like the bug in question with the putback to b39 is 6268952
27-09-2006

EVALUATION Vista build 5728 ( a post Vista RC1 build) has updated Indic fonts, including Mangal, and JDK 6 works properly with these fonts for all the tests here. 1.5u8 is also mostly OK except it shows in one case that the \u0948 "DEVANAGARI VOWEL SIGN AI" is still not properly positioned >(c) \U0915 + \U0948 + \U0938 + \U0947 [should form word called "kaise". Note that the \U0948 is not getting formed correctly with other chars] This did work OK with the XP SP 2 version of Mangal. But since this works with JDK 6 it seems likely this is an old JDK bug since fixed. We may need to still look into this for 5u11 but based on initial results from the new vista build this bug is no longer a problem for JDK6
26-09-2006

EVALUATION In the Hindi locale on windows JDK uses the Mangal font. Vista has incompatibly changed this font. The changes to the Vista Mangal font are such that the preprocessing that the LayoutEngine code does to the text causes the OpenType features to not be applied - producing the same result as if there wasn't a 'gsub' table in the font. Vista feedback has been submitted to Microsoft but so far we do not have information on how to process these changes. Other fonts are likely affected too.
20-07-2006