On 22/08/2013 16:23, Scott Palmer wrote:
To do a fair comparison you need to use the same font face,size, foreground
and background colors, etc.  and compare the "native" and java -rendered
text side by side (even at the same pixel coordinates in case it makes a
difference).

John H. mentioned Arial 16px "normal" in the CSS, and he mentions "the
sizes and weights are tweaked depending on location" -  the "2" that is
rendering awkward looks like it has been made "bold" - probably via a
transformation applied to the original font rather than selecting a
naturally bold typeface.  It's not always easy to tell though.
It is bold, this style is applied:

.elements {
  -fx-background-color: color-content-background;
  -fx-background-radius: 0 0 8 0;
  -fx-font-size: 13px;
  -fx-font-weight: bold;
}

However, the text wasn't always like this. Somewhere around b90-b99 this has changed to a different rendering, as I'm sure I would have noticed it immediately. Even though I think the plot text looks as well as can be expected (it is grayscale smoothed only as DLP Projectors don't actually work like LCD screens), I'm fairly picky about things like that showing up (I can't stand LCD smoothing for example as it gives glyphs colored edges no matter how much tuning I do).


I've seen poor font rendering in native applications too. (Web browsers on
Linux are notoriously bad at making text look awful)

I would try the same exact rendering in HTML and show it in a few different
browers to compare.  Then try the same thing in a word processor, etc.  See
if the context of the rendering affects the quality in non-Java
applications as well.

Scott



On Thu, Aug 22, 2013 at 7:39 AM, John C. Turnbull<ozem...@ozemail.com.au>wrote:

John H, it may be just me but pretty much *all* the fonts in your
screenshot
look quite poor and noticeably different from native font rendering.  If
you
look for instance at the text in the "Plot" section, to me that text looks
awful.

Is that inside a WebView or some other control?

-jct

-----Original Message-----
From: openjfx-dev-boun...@openjdk.java.net
[mailto:openjfx-dev-boun...@openjdk.java.net] On Behalf Of John Hendrikx
Sent: Thursday, 22 August 2013 17:29
To: openjfx-dev@openjdk.java.net
Subject: Re: Poor quality font rendering


I took another good look, and I see what is bothering me is mostly how the
glyph "2" is rendered on my system (it has a thick appearing curve attached
to the base).  I've included a screenshot of my application that uses
several different sizes fonts, but it seems only the ones in the top bar
are
rendered somewhat wierd.

http://ukyo.xs4all.nl/Digit2RenderedPoorlyInTopBar.png

I'm on Windows 7, JavaFX 8b99, 32-bit, using D3D pipeline (I get this stuff
in log in an infinite loop, so must be D3D I think):

D3D Vram Pool: 129,613,674 used (48.3%), 129,613,674 managed (48.3%),
268,435,456 total                   --
com.sun.prism.impl.ManagedResource.printSummary(ManagedResource.java:134)
75 total resources being
managed

--
com.sun.prism.impl.ManagedResource.printSummary(ManagedResource.java:153)
4 permanent resources
(5.3%)

--
com.sun.prism.impl.ManagedResource.printSummary(ManagedResource.java:154)
2 resources locked
(2.7%)

--
com.sun.prism.impl.ManagedResource.printSummary(ManagedResource.java:156)
43 resources contain interesting data
(57.3%)                                                             --
com.sun.prism.impl.ManagedResource.printSummary(ManagedResource.java:158)
0 resources disappeared
(0.0%)

--
com.sun.prism.impl.ManagedResource.printSummary(ManagedResource.java:160)

I also have this in main, before Application.launch is called:

      System.setProperty("prism.lcdtext", "false");

In .root in CSS I have:

    -fx-font-family: "Arial";
    -fx-font-size: 16px;
    -fx-font-weight: normal;

So all the fonts you see should be Arial (but the sizes and weights are
tweaked depending on location).

--John

On 21/08/2013 20:51, Felipe Heidrich wrote:
John H:

In JFX we decided to go with sub-pixel positioned text (as opposite to
pixel grid aligned).
That said, on Windows for grayscale text, we are not doing that (yet).
Are
you running Windows, with D3D pipeline ?
I would need to see a picture to be sure I understand the problem you
describe.
Felipe


On Aug 21, 2013, at 10:19 AM, John Hendrikx wrote:

I think I also noticed a change in font rendering around b99
somewhere...
the fonts seem to be thinner than before, or perhaps more poorly aligned
with pixel boundaries.  I'd prefer glyphs laid out in the same way each
time, ie. letters are always on a new pixel boundary, so the same letter
will look the same regardless of what preceeds it.  I have LCD rendering
turned off as I donot appreciate colored fringes on my glyphs.
On 21/08/2013 14:53, John C. Turnbull wrote:
I have only really tested JavaFX extensively on Windows so my
comments here apply mainly to that platform.



It seems that even with a font smoothing type of LCD, font rendering
in JavaFX is not at the same level of quality of native
applications.  My current experiences are with JavaFX 8 b103 and I
find that all rendered text in JavaFX appears of a significantly
poorer quality than that which I would see in Word for example or
even in IE10 (which I believe uses the same text rendering engine).
Also, these observations are based on text in "standard"
controls and the quality of font rendering is dramatically worse
within the Canvas control.



I am not an expert in font technology but I have read many times
that the levels of antialiasing for text that can be achieved in a
GPU-based renderer are always going to be less than that achieved in a
CPU-based renderer.
This is often explained on the basis of graphics card drivers being
optimised for performance and the rapid rendering of triangles
commonly required in games rather than for rendering quality when it
comes to text.


Is this the reason why JavaFX font rendering appears less legible
and of a lower quality than native apps?

If so, how does IE10 for example achieve a higher quality of
rendering when it seems to also use DirectWrite?

Is the quality of JavaFX font rendering ever going to improve?



Thanks,



-jct



Reply via email to