JDK-8125155 : Words containing s the "split vowel" ��� are not displayed correctly in complex script Indian language
  • Type: Bug
  • Component: javafx
  • Sub-Component: graphics
  • Affected Version: fx2.0.2
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2012-11-04
  • Updated: 2015-06-17
  • Resolved: 2012-11-11
Related Reports
Duplicate :  
Description
In my program I am reading a Bangla (Indic Language) text from a UTF-8 file and displaying in Text component of JavaFx. Though the characters are being displayed , they are not positioned properly.
In this type of complex script language some of the vowels should wrap around the letter both in the left and right side but in some of the computers it is showing in a wrong manner i.e. first the vowel and then the letter.

e.g. the words which contains the "split vowel" ��� are not displayed correctly. 

This is not reproducible in all computers, I could not narrow down to any specific type of configuration.
This problem happens while opening the text file in Notepad in those computer but gets fixed after installing the software http://www.omicronlab.com/go.php?id=38
However this do not fix the fonts in the JavaFx program.

Note : I am using the same Bengali font file all the time in the program.
Comments
Thanks, the screenshot you uploaded is correct and I tested in some other computer it worked fine. Now I will have to migrate my project to JDK 8 .
12-11-2012

re-closing
11-11-2012

it seems that on my machine I see the correct rendering using jfx8 repo
11-11-2012

opening to attach file
11-11-2012

Hold on I was probably too quick to make a conclusion. I started Netbeans also in JDK8 and looks like the script looks OK now. earlier I just had JDK in tho project property library. I will need couple of days to test in different computers and confirm.
11-11-2012

Tried JDK8 Developer preview , same problem. Any way to debug this ? The font, text and the code is available in the above link.
11-11-2012

Personally I think using WebEngine for such simple expressions is overkill. It seems you need https://wikis.oracle.com/display/OpenJDK/Rich+Text - it will not take too long now for the code to go public.
08-11-2012

BTW Do you think JavaFx WebEngine can help me here, I am anyway looking for the text components to display partially in bold by assigning a text like with <b> tag or something ?
08-11-2012

Sorry for the big file, I actually bundled the JRE and sent the .exe so that you could directly run. Now I am sending you a netbeans project with one java file, font file and a data.txt file where I am reading the UTF-8 text. http://dl.dropbox.com/u/655237/share/BanglaTestFont_NB_PROJECT.zip There is no possibility of version incompatibility as I compile the JavaFx code, bundle the JRE and font and then test in various laptops. You can unzip the 45 mb file and run exe to test. fonts and jre both are bundles in it. In fact it works for some other laptop of my friend's too but this is not good enough as the product will be shipped to many users.
07-11-2012

Thank you, but the testcase is an 44mb application. If that is not asking too much, would it be possible to get a simple snippet (one file). Not sure why it works on your new laptop, are you sure you have the same version of javafx on both machines ? It can also happen if the font is not the same. Keep in mind that javafx 2.x does not support complex script.
06-11-2012

Thanks, Reproducible program is here https://dl.dropbox.com/u/655237/share/BanglaTestFont.zip Let me know if the 1st word displays like which of the image posted in the bug description. Note, due to some reason it render's in correct way in new laptops , which sometimes makes me feel that the problem is in laptop settings rather than JavaFx, any thoughts ?
06-11-2012

Sorry, no workaround for 2.x. But if you tell me exactly which font and text you are using I can make sure it works in the next release.
06-11-2012

Is there any workaround for this issue as of now , we are in production and new language support works in most of the new computers in the same JavaFx code. Not sure why it does not work in Old computers.
06-11-2012

Closing this as a duplicate of RT-17411
06-11-2012

Complex text is not supported in JavaFX 2.x. It is a feature of FX 8, which ships bundled with JDK 8. Early access builds of JDK 8 can be downloaded from http://jdk8.java.net/download.html
06-11-2012

Not sure complex text is supported in JavaFX 2.0.2, but in order to position those vowels correctly, Text node has to handle GPOS table in the Bangla OpenType font. Transferring it to Graphics team.
06-11-2012

Naoto, could you please help to take a look?
06-11-2012

I don't know whether there is a workaround in JavaFX 2.x, but I've included Felipe on the watch list in case he has any thoughts.
06-11-2012