CSS Font size in points doesn't match Node.Font.Size

David Grieve david.grieve at oracle.com
Thu Mar 6 11:37:10 PST 2014

Hey Felipe,

I recall a couple of years ago when Phil drilled it into me that Font 
size was pixels. So when you said that Font size is point, I was 
skeptical. But, indeed, you are correct and I am mistaken.

I see now that setting font size from point units in our CSS is broken. 
Our CSS implementation will convert -fx-font-size: 12pt; to 9px since 
CSS says that 72/96th of a point equals a pixel. But that should convert 
to 12px. Fortunately, modena and caspian are all pixel based units.

It is important to note that if the assertion that DPI=72 ever changes, 
then CSS will be broken since I've (incorrectly) assumed all along that 
Font size is pixels.

On 3/6/14, 1:47 PM, Felipe Heidrich wrote:
> On Mar 5, 2014, at 3:18 PM, Tom Schindl <tom.schindl at bestsolution.at> wrote:
>> Why can't JavaFX not at least provide a font-API to create fonts with point?
> The current JavaFX API is point (see the doc).
> The thing is, on the desktop it uses DPI=72, so px=pt.
> In the printer the actual device DPI is used (so that 72pt=1in on the paper).
> Note, Mac is exactly the same,  see the doc for CTFontRef for example
> https://developer.apple.com/library/mac/documentation/Carbon/Reference/CTFontRef/Reference/reference.html#//apple_ref/doc/uid/TP40005110
> It talks about point size the very same way JavaFX does.
> That is so true that the very value passed to Font.font(double) is passed to CTFontCreateWithName() in CTFontStrike.java as is.
> The same is true for Windows, using DirectWrite and Linux, using FreeType.
> Felipe

More information about the openjfx-dev mailing list