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 4dafd803..a0e80922 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties @@ -47,15 +47,20 @@ mini.font = -3 # font weights # Windows +# (use Segoe UI Light because there is no thin font available on Windows) +[win]thin.font = "Segoe UI Light" [win]light.font = "Segoe UI Light" [win]semibold.font = "Segoe UI Semibold" # macOS +[mac]thin.font = "HelveticaNeue-Thin" [mac]light.font = "HelveticaNeue-Light" [mac]semibold.font = "HelveticaNeue-Medium" # Linux +[linux]thin.font = "Lato Thin", "Ubuntu Thin", "Cantarell Thin" [linux]light.font = "Lato Light", "Ubuntu Light", "Cantarell Light" [linux]semibold.font = "Lato Semibold", "Ubuntu Medium" # fallback for unknown platform +thin.font = +0 light.font = +0 semibold.font = +0 @@ -76,6 +81,7 @@ monospaced.font = Monospaced [style].medium = font: $medium.font [style].small = font: $small.font [style].mini = font: $mini.font +[style].thin = font: $thin.font [style].light = font: $light.font [style].semibold = font: $semibold.font [style].monospaced = font: $monospaced.font diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202-mac.txt b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202-mac.txt index 18039343..e137defd 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202-mac.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202-mac.txt @@ -134,3 +134,9 @@ - small.font [active] Segoe UI plain 10 javax.swing.plaf.FontUIResource [UI] + small.font [active] Helvetica Neue plain 11 javax.swing.plaf.FontUIResource [UI] + + +#---- thin ---- + +- thin.font [active] Segoe UI Light plain 12 javax.swing.plaf.FontUIResource [UI] ++ thin.font [active] HelveticaNeue-Thin plain 13 javax.swing.plaf.FontUIResource [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt index 4d706a84..5348a5a1 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt @@ -1396,6 +1396,7 @@ ViewportUI com.formdev.flatlaf.ui.FlatViewportUI [style].monospaced font: $monospaced.font [style].semibold font: $semibold.font [style].small font: $small.font +[style].thin font: $thin.font #---- ---- @@ -1522,6 +1523,15 @@ textHighlight #4b6eaf HSL 219 40 49 javax.swing.plaf.Colo textHighlightText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] textInactiveText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] textText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] + + +#---- thin ---- + +thin.font [active] Segoe UI Light plain 12 javax.swing.plaf.FontUIResource [UI] + + +#---- ---- + window #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] windowBorder #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] windowText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202-mac.txt b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202-mac.txt index 18039343..e137defd 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202-mac.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202-mac.txt @@ -134,3 +134,9 @@ - small.font [active] Segoe UI plain 10 javax.swing.plaf.FontUIResource [UI] + small.font [active] Helvetica Neue plain 11 javax.swing.plaf.FontUIResource [UI] + + +#---- thin ---- + +- thin.font [active] Segoe UI Light plain 12 javax.swing.plaf.FontUIResource [UI] ++ thin.font [active] HelveticaNeue-Thin plain 13 javax.swing.plaf.FontUIResource [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt index f6748391..22ed02dc 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt @@ -1401,6 +1401,7 @@ ViewportUI com.formdev.flatlaf.ui.FlatViewportUI [style].monospaced font: $monospaced.font [style].semibold font: $semibold.font [style].small font: $small.font +[style].thin font: $thin.font #---- ---- @@ -1527,6 +1528,15 @@ textHighlight #2675bf HSL 209 67 45 javax.swing.plaf.Colo textHighlightText #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] textInactiveText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] textText #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] + + +#---- thin ---- + +thin.font [active] Segoe UI Light plain 12 javax.swing.plaf.FontUIResource [UI] + + +#---- ---- + window #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] windowBorder #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] windowText #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0_202.txt index 7638a905..53467ad8 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0_202.txt @@ -1399,10 +1399,13 @@ ViewportUI com.formdev.flatlaf.ui.FlatViewportUI [style].h3 font: $h3.font [style].h4 font: $h4.font [style].large font: $large.font +[style].light font: $light.font [style].medium font: $medium.font [style].mini font: $mini.font [style].monospaced font: $monospaced.font +[style].semibold font: $semibold.font [style].small font: $small.font +[style].thin font: $thin.font #---- ---- @@ -1476,6 +1479,11 @@ laf.scaleFactor [active] 1.0 large.font [active] Segoe UI plain 14 javax.swing.plaf.FontUIResource [UI] +#---- light ---- + +light.font [active] Segoe UI Light plain 12 javax.swing.plaf.FontUIResource [UI] + + #---- medium ---- medium.font [active] Segoe UI plain 11 javax.swing.plaf.FontUIResource [UI] @@ -1502,6 +1510,11 @@ monospaced.font [active] Consolas plain 12 javax.swing.plaf.Fo scrollbar #88ff88 HSL 120 100 77 javax.swing.plaf.ColorUIResource [UI] +#---- semibold ---- + +semibold.font [active] Segoe UI Semibold plain 12 javax.swing.plaf.FontUIResource [UI] + + #---- small ---- small.font [active] Segoe UI plain 10 javax.swing.plaf.FontUIResource [UI] @@ -1519,6 +1532,15 @@ textHighlight #00aa00 HSL 120 100 33 javax.swing.plaf.Colo textHighlightText #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] textInactiveText #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] textText #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] + + +#---- thin ---- + +thin.font [active] Segoe UI Light plain 12 javax.swing.plaf.FontUIResource [UI] + + +#---- ---- + window #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] windowBorder #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] windowText #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemePreviewFonts.java b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemePreviewFonts.java index 9a8d2510..28a64367 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemePreviewFonts.java +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemePreviewFonts.java @@ -53,6 +53,7 @@ public class FlatThemePreviewFonts FlatThemePreviewFonts.FontPreview mediumPreview = new FlatThemePreviewFonts.FontPreview(); FlatThemePreviewFonts.FontPreview smallPreview = new FlatThemePreviewFonts.FontPreview(); FlatThemePreviewFonts.FontPreview miniPreview = new FlatThemePreviewFonts.FontPreview(); + FlatThemePreviewFonts.FontPreview thinPreview = new FlatThemePreviewFonts.FontPreview(); FlatThemePreviewFonts.FontPreview lightPreview = new FlatThemePreviewFonts.FontPreview(); FlatThemePreviewFonts.FontPreview semiboldPreview = new FlatThemePreviewFonts.FontPreview(); FlatThemePreviewFonts.FontPreview monospacedPreview = new FlatThemePreviewFonts.FontPreview(); @@ -79,6 +80,7 @@ public class FlatThemePreviewFonts "[bottom]" + "[bottom]para" + "[]" + + "[]" + "[]para" + "[]para" + "[]")); @@ -147,29 +149,34 @@ public class FlatThemePreviewFonts miniPreview.setFontStyle("mini"); add(miniPreview, "cell 0 12,gapx 12"); + //---- thinPreview ---- + thinPreview.setFontType("Thin"); + thinPreview.setFontStyle("thin"); + add(thinPreview, "cell 0 13,gapx 12"); + //---- lightPreview ---- lightPreview.setFontType("Light"); lightPreview.setFontStyle("light"); - add(lightPreview, "cell 0 13,gapx 12"); + add(lightPreview, "cell 0 14,gapx 12"); //---- semiboldPreview ---- semiboldPreview.setFontType("Semibold"); semiboldPreview.setFontStyle("semibold"); - add(semiboldPreview, "cell 0 14,gapx 12"); + add(semiboldPreview, "cell 0 15,gapx 12"); //---- monospacedPreview ---- monospacedPreview.setFontType("Monospaced"); monospacedPreview.setFontStyle("monospaced"); - add(monospacedPreview, "cell 0 15,gapx 12"); + add(monospacedPreview, "cell 0 16,gapx 12"); //---- scaleLabel ---- scaleLabel.setText("Fonts are scaled by:"); - add(scaleLabel, "cell 0 16,gapx 12"); + add(scaleLabel, "cell 0 17,gapx 12"); //---- scaleValueLabel ---- scaleValueLabel.setText("1x"); scaleValueLabel.putClientProperty("FlatLaf.styleClass", "h2"); - add(scaleValueLabel, "cell 0 16"); + add(scaleValueLabel, "cell 0 17"); // JFormDesigner - End of component initialization //GEN-END:initComponents } diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemePreviewFonts.jfd b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemePreviewFonts.jfd index 002e1736..eeda2887 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemePreviewFonts.jfd +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemePreviewFonts.jfd @@ -9,7 +9,7 @@ new FormModel { add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { "$layoutConstraints": "ltr,insets dialog,hidemode 3" "$columnConstraints": "[left]unrel" - "$rowConstraints": "[][bottom][bottom][bottom][bottom][bottom][bottom]para[][bottom][bottom][bottom][bottom][bottom]para[][]para[]para[]" + "$rowConstraints": "[][bottom][bottom][bottom][bottom][bottom][bottom]para[][bottom][bottom][bottom][bottom][bottom]para[][][]para[]para[]" } ) { name: "this" add( new FormComponent( "javax.swing.JLabel" ) { @@ -105,32 +105,39 @@ new FormModel { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 0 12,gapx 12" } ) + add( new FormComponent( "com.formdev.flatlaf.themeeditor.FlatThemePreviewFonts$FontPreview" ) { + name: "thinPreview" + "fontType": "Thin" + "fontStyle": "thin" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 13,gapx 12" + } ) add( new FormComponent( "com.formdev.flatlaf.themeeditor.FlatThemePreviewFonts$FontPreview" ) { name: "lightPreview" "fontType": "Light" "fontStyle": "light" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 0 13,gapx 12" + "value": "cell 0 14,gapx 12" } ) add( new FormComponent( "com.formdev.flatlaf.themeeditor.FlatThemePreviewFonts$FontPreview" ) { name: "semiboldPreview" "fontType": "Semibold" "fontStyle": "semibold" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 0 14,gapx 12" + "value": "cell 0 15,gapx 12" } ) add( new FormComponent( "com.formdev.flatlaf.themeeditor.FlatThemePreviewFonts$FontPreview" ) { name: "monospacedPreview" "fontType": "Monospaced" "fontStyle": "monospaced" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 0 15,gapx 12" + "value": "cell 0 16,gapx 12" } ) add( new FormComponent( "javax.swing.JLabel" ) { name: "scaleLabel" "text": "Fonts are scaled by:" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 0 16,gapx 12" + "value": "cell 0 17,gapx 12" } ) add( new FormComponent( "javax.swing.JLabel" ) { name: "scaleValueLabel" @@ -140,7 +147,7 @@ new FormModel { "JavaCodeGenerator.variableLocal": false } }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 0 16" + "value": "cell 0 17" } ) }, new FormLayoutConstraints( null ) { "location": new java.awt.Point( 5, 0 ) diff --git a/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt b/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt index caa55b35..36850580 100644 --- a/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt +++ b/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt @@ -1077,6 +1077,7 @@ ViewportUI [style].monospaced [style].semibold [style].small +[style].thin activeCaption activeCaptionBorder activeCaptionText @@ -1119,6 +1120,7 @@ textHighlight textHighlightText textInactiveText textText +thin.font window windowBorder windowText