Poor font rendering..

Felipe Heidrich felipe.heidrich at oracle.com
Mon Mar 10 17:45:57 UTC 2014


Thank you Rob,


DirectWrite is the engine JavaFX uses to produces glyph masks (white on black), therefore JavaFX text should resemble that of DirectWrite (it is not exactly the same, as JavaFX does its own color blending and gamma correction).

We decided to use DirectWrite for JavaFX because it is the most modern native technology on Windows that we can use.
In particular, we were interested on sub pixel positioned text. GDI, for example, all glyph positioning are expressed as integer, and glyphs are (usually) aggressively hinted.

Interesting FIreFox had all the same trouble when they switched from GDI to DirectWrite.
Please read https://blog.mozilla.org/nattokirai/2011/08/11/directwrite-text-rendering-in-firefox-6/
 
JavaFX always uses DirectWrite natural mode rendering. We too can provided switches for GDI Classic rendering mode, cleartype level, enhanced contrast, gamma, etc.
It is all defined here
http://msdn.microsoft.com/en-us/library/windows/desktop/dd371285(v=vs.85).aspx

Maybe that would help ?

Notes:
SWT uses GDI to render text (I know, I implemented it). 
JavaFX with -Djavafx.text=t2k uses GDI to render LCD text, 
SWT and JavaFX with -Djavafx.text=t2k are not same, but similar, likely again because JavaFX does its own color blending and gamma correction.

Felipe


On Mar 10, 2014, at 10:06 AM, Robert Fisher <rfisher at tesis.de> wrote:

> Hi Felipe,
> 
> I've added the results from the DirectWrite 'Hello World' sample to the image:
> 
> http://i.imgur.com/CGyckge.png
> 
> Is this supposed to be the benchmark for how black text should look? In my opinion the text in Chrome / Firefox / Eclipse is a lot clearer and sharper when viewed at 100%.
> 
> Cheers,
> Rob
> 
> 



More information about the openjfx-dev mailing list