From b82ee2ef61f664b7a597bc9be57402f2f542cf6b Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Fri, 1 Jul 2022 23:48:04 +0200 Subject: [PATCH] Typography: no longer use `Consolas` or `Courier New` as monospaced font on Windows because they have bad vertically placement --- CHANGELOG.md | 2 ++ .../com/formdev/flatlaf/FlatLaf.properties | 2 +- .../java/com/formdev/flatlaf/demo/DemoFrame.java | 4 ++-- .../flatlaf/testing/FlatPaintingStringTest.java | 15 +++++++++++++-- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 80f6ba98..3fcfb952 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ FlatLaf Change Log - TableHeader: Fixed exception when changing table structure (e.g. removing column) from a table header popup menu action. (issue #532) - `HiDPIUtils.paintAtScale1x()` now supports rotated graphics. (issue #557) +- Typography: No longer use `Consolas` or `Courier New` as monospaced font on + Windows because they have bad vertically placement. ## 2.3 diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties index 5050ca80..5939219c 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties @@ -64,7 +64,7 @@ light.font = +0 semibold.font = +0 # monospaced -[win]monospaced.font = Consolas, "Courier New", Monospaced +[win]monospaced.font = Monospaced [mac]monospaced.font = Menlo, Monospaced [linux]monospaced.font = "Liberation Mono", "Ubuntu Mono", Monospaced monospaced.font = Monospaced diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoFrame.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoFrame.java index 7e01a9d6..be4bf174 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoFrame.java +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoFrame.java @@ -342,8 +342,8 @@ class DemoFrame // add font families fontMenu.addSeparator(); ArrayList families = new ArrayList<>( Arrays.asList( - "Arial", "Cantarell", "Comic Sans MS", "Courier New", "DejaVu Sans", - "Dialog", "Liberation Sans", "Monospaced", "Noto Sans", "Roboto", + "Arial", "Cantarell", "Comic Sans MS", "DejaVu Sans", + "Dialog", "Liberation Sans", "Noto Sans", "Roboto", "SansSerif", "Segoe UI", "Serif", "Tahoma", "Ubuntu", "Verdana" ) ); if( !families.contains( currentFamily ) ) families.add( currentFamily ); diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingStringTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingStringTest.java index f9f3e238..675e7871 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingStringTest.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPaintingStringTest.java @@ -68,9 +68,20 @@ public class FlatPaintingStringTest // initialize font families combobox String[] families = { + // regular "Arial", "Cantarell", "DejaVu Sans", - "Dialog", "Inter", "Liberation Sans", "Noto Sans", "Open Sans", "Roboto", - "SansSerif", "Segoe UI", "Tahoma", "Ubuntu", "Verdana" }; + "Dialog", "Helvetica Neue", "Inter", "Liberation Sans", "Noto Sans", "Open Sans", "Roboto", + "SansSerif", "Segoe UI", "Tahoma", "Ubuntu", "Verdana", ".SF NS Text", + + // light, semibold + "Segoe UI Light", "Segoe UI Semibold", + "HelveticaNeue-Thin", "HelveticaNeue-Medium", + "Lato Light", "Ubuntu Light", "Cantarell Light", + "Lato Semibold", "Ubuntu Medium", "Montserrat SemiBold", + + // monospaced + "Monospaced", "Consolas", "Courier New", "Menlo", "Liberation Mono", "Ubuntu Mono", + }; Arrays.sort( families, String.CASE_INSENSITIVE_ORDER ); DefaultComboBoxModel model = new DefaultComboBoxModel<>(); model.addElement( currentFamily );