Sub-pixel text rendering in Canvas revisited

John C. Turnbull ozemale at
Mon Feb 18 02:09:30 PST 2013

Some time ago I posted about my wish for Canvas to support sub-pixel
antialiased text rendering (also known as LCD text rendering).


At the time, some resistance to the idea was expressed (from the JavaFX
development team) on the basis that adding a method to set the text
"smoothing" type in Canvas would result in API bloat.  In addition, some
comments were made in relation to the difficulty of rendering LCD text with
transitions and animations.


I would like to restate that I strongly believe that Canvas needs to support
LCD text.  I simply cannot see that adding *one* method to an API is
equivalent to "bloat". Also, while I profess that I am no advanced graphics
expert, I am not sure why LCD text would cause unsolvable problems for
transitions/animations given that other graphics toolkits (i.e. Flash,
Silverlight and even HTML5 Canvas) are all capable of rendering LCD text and
having such text participate in animations.  What makes JavaFX so different?


So, is it possible the decision not to support LCD text in JavaFX Canvas be
reconsidered?  As I said in my original post, the main driver for me is that
I would like to develop advanced controls based on Canvas but am concerned
that the text in said controls looks distinctly different (i.e. much
poorer/fizzier) than text rendered in "standard" controls (i.e. those not
based on Canvas).  The result is a non-uniform and substandard UI.





More information about the openjfx-dev mailing list