Font.font() says it is point size but it looks like it are pixels
Alexander Kouznetsov
alexander.kouznetsov at oracle.com
Thu Jan 16 01:35:44 PST 2014
Tom,
Could you please file a bug on this?
Best regards,
Alexander Kouznetsov
(408) 276-0387
On 23 дек 2013 15:31, Tom Schindl wrote:
> Hi,
>
> The JavaDoc of Font.font says:
>
> -----8<-----
> size - The point size of the font. This can be a fractional value, but
> must not be negative. If the size is < 0 the default size will be used.
> -----8<-----
>
> I highly doubt this is correct (see attached picture from Linux where
> you see native, qt and javafx) and a sample FX-Code using setFont and
> using CSS (see at the end of this mail)
>
> The result is correct if CSS is used and looking up the code in the CSS
> shows that values are calculated back to pixels when passed to the
> Font-factory method (FontConverter.convert!).
>
> I guess one can not fix this Font.font API to really work with points
> (which would be the natural expectation at least to me) but the JavaDoc
> has to be fixed!
>
> Another thing I came across is that the DPI calculation is fixed to 96
> DPI - which i don't fully understand why it is fixed because the DPI can
> vary between devices and monitors. Is this because of multi-monitors and
> you are applying a transformation based on the screen the text is
> rendered on?
>
> Tom
>
> -----------
>> HBox h = new HBox();
>>
>> {
>> Text t = new Text("Hello World");
>> t.setFont(Font.font(50));
>> h.getChildren().add(t);
>> }
>>
>> {
>> Text t = new Text("Hello World");
>> t.setStyle("-fx-font-size: 50pt;");
>> h.getChildren().add(t);
>> }
>>
>> primaryStage.setScene(new Scene(h,300,300));
>> primaryStage.show();
More information about the openjfx-dev
mailing list