Poor quality font rendering

John C. Turnbull ozemale at ozemail.com.au
Thu Aug 22 04:35:14 PDT 2013


Hi Felipe,

Thanks for the info.

I will see if I can get some screenshots together that highlight the
differences and then file a JIRA issue.

The differences are not dramatic but noticeable enough to lessen the
impression of "professional quality" of my application (in my opinion).

P.S. I am only talking about text rendered in controls other than Canvas.
Canvas font rendering is really awful on both my Windows machines and I so
hope that LCD font smoothing is made available for Canvas before I have to
ship.

-jct

-----Original Message-----
From: openjfx-dev-bounces at openjdk.java.net
[mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Felipe Heidrich
Sent: Thursday, 22 August 2013 05:04
To: openjfx-dev at openjdk.java.net List
Subject: Re: Poor quality font rendering


Hi John T.

In JFX we use DirectWrite to produce glyph images, which I believe it what
IE10 uses (once upon the time I heard that Word used Uniscribe, which is a
different MS library for text. Nowadays, I have no clue).

Although we use the same base library it is possible to have differences
caused by:
a) we are still using our shader program to produce sub-pixel positioned
glyphs (LCD).
b) using different values for gamma correction (unlikely)

But these problems would only cause very very subtle differences in the
rendering (I think), and with a bit more time I should be able to fix both.

Could you please provide a picture of exact case you are seeing (maybe file
a jira) ?

Thank  you
Felipe



On Aug 21, 2013, at 5:53 AM, 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
> 



More information about the openjfx-dev mailing list