This has caused us a lot of sleepless days Blur issue and fonts Cross platform scaling
Sent from my iPhone > On Apr 16, 2015, at 3:24 PM, Matthieu BROUILLARD <matth...@brouillard.fr> > wrote: > > In my company at least in the business (healthcare in hospitals) we target > JavaFX for (as a replacement of old app in Swing) we for sure cannot ask > our clients to change their computers/screen to have HiDPI... so having 5K > screens, yes in 2045 perhaps. > > >> On Thu, Apr 16, 2015 at 7:12 PM, Jeff Martin <j...@reportmill.com> wrote: >> >> I’m surprised about the font size problem - If I create a font with new >> Font(“Monaco”, 10), text shows up the same size as it does in Eclipse. >> >> I don’t think there is a solution for the blurry problem, however, because >> there is no way to disable Antialiasing. In Swing, I was able to get crisp >> rendering identical to eclipse by checking for very specific fonts/sizes >> and disabling TEXT_ANTIALIASING. >> >> The only solution in JavaFX may be to get a Retina monitor. This didn’t >> seem to be a terrible proposition to me last year, when it seemed like >> almost everything from phones to tablets to laptops had gone HiDPI. It’s >> taking forever for the desktop world to catch on, though. Apple is taking >> it’s time. Dell apparently has a nice 5k external, but it needs two mini >> display ports to drive it. >> >> jeff >> >> >>> On Apr 16, 2015, at 9:28 AM, Damien Dudouit <ddudo...@clio.ch> wrote: >>> >>> Hello, >>> >>> I'm experimenting with Java FX on a Windows 7 machine, using Java >> 1.8.0_40. >>> >>> The *javafx.scene.text.*Font javadoc says : >>> >>> *The size of a Font is described as being specified in points which are a >>> real world measurement of approximately 1/72 inch. * >>> >>> *[...] Note that the real world distances specified by the default >>> coordinate system only approximate point sizes as a rule of thumb and are >>> typically defaulted to screen pixels for most displays. * >>> >>> Java FX behaves as if the display dpi is 72 while in my case for instance >>> its about 96. 96/72 = 1.3333. >>> >>> So for instance if I set Font.font("Consolas", FontPosture.REGULAR, 10) >> as >>> a font on a javafx.scene.control.TextArea, text appears a lot smaller >> than >>> in my eclipse editor configured with the same font. >>> Obviously, I get about the same visual size if I use a font size of 13 in >>> Java FX while using the same font in size 10 in Eclipse. >>> >>> I guess I could set scaling somehow in my Java FX code. But using >> scaling, >>> I imagine that text has little chance to display as crisp as it should. >>> >>> In fact, trying to compare the pixel output of Eclipse with font size 10 >>> and Java FX in font size 13 (or 13.333), the Java FX one is slightly >> blurry. >>> >>> What can be done in Java FX when an application needs text as clear as >>> possible, for instance if the application is a text editor ? >>> >>> What is the correct approach in a Java FX app so that it respect the >>> default font size configured at the OS level ? >>> >>> >>> Thanks a lot in advance, >>> >>> Damien >>> >>> >>> public final class MyApplication extends Application { >>> >>> public static void main(String[] args) { >>> launch(args); >>> } >>> >>> @Override >>> public void start(Stage primaryStage) { >>> TextArea editor = new TextArea(); >>> >>> editor.setFont(Font.font("Consolas", FontPosture.REGULAR, 10)); >>> >>> primaryStage.setScene(new Scene(editor)); >>> primaryStage.show(); >>> >>> System.out.println(Toolkit.getDefaultToolkit().getScreenResolution()); >>> } >>> } >> >>