JDK-8119078 : Letter spacing is ugly as we do not sub-pixel position
  • Type: Bug
  • Component: javafx
  • Sub-Component: graphics
  • Affected Version: fx2.1
  • Priority: P2
  • Status: Resolved
  • Resolution: Duplicate
  • Submitted: 2012-02-07
  • Updated: 2015-06-17
  • Resolved: 2012-02-07
Related Reports
Duplicate :  
Description
You can see in the attached screenshot that the spacing between the "P" and "a" of "Pane" are completely different which looks really ugly. That is just one of 100% of places where this shows up in the SceneBuilder tool. 

I believe that this is because we use fractional metrics to calculate the letter positions but then snap the rendered layer to pixel boundaries. The result of this is the letter spacing is randomly all over the place and looks really ugly. This needs to be fixed in both LCD and Grayscale modes.
Comments
We had thought we just needed to remove the rounding we are doing but its not so simple. Turns out that even if we don't snap it to pixel boundaries, the graphics hardware snaps the images anyway. Our explicit snapping is required only for one or two cards/situations where a value around 0.5 results in Intel HD (for one), trying to sample adjacent pixels to place the image closer to where it theoretically should go. The problem there is ait makes an awful hash of it. If we select linear sampling rather then the default nearest, then the text looks better spaced but is much fuzzier. Too fuzzy in our opinion. So after trying hardware solutions , the answer, at least for grey scale appears to be a software one, which is to generate sub-pixel images as we've been planning on doing for sometime. That is described in http://javafx-jira.kenai.com/browse/RT-14187 : Support glyph rasterisation to sub-pixel precision I will close this out as a duplicate.
07-02-2012

From a designer point of view I would say that the bad letter spacing is probably the biggest aesthetic issue in the platform. If we can fix it, all of our UI work is going to look significantly better.
07-02-2012

Assign to Phil for evaluation. I would argue that "Critical" is not the right priority for this issue, since there is no loss of functionality. I will let Phil comment, though.
07-02-2012

Made critical as it is really letting down the perception of JavaFX applications.
07-02-2012