Demo: install Inter font only when used; removed JetBrains Mono

This commit is contained in:
Karl Tauber
2022-05-31 12:37:02 +02:00
parent ec77746a43
commit 76fee29f5b
3 changed files with 12 additions and 11 deletions

View File

@@ -38,7 +38,7 @@ jobs:
if: startsWith( github.ref, format( 'refs/tags/fonts/{0}-', matrix.font ) ) if: startsWith( github.ref, format( 'refs/tags/fonts/{0}-', matrix.font ) )
- name: Release a new stable version to Maven Central - name: Release a new stable version to Maven Central
run: ./gradlew publish :flatlaf-fonts-${{ matrix.font }}:build -Drelease=true run: ./gradlew :flatlaf-fonts-${{ matrix.font }}:build :flatlaf-fonts-${{ matrix.font }}:publish -Drelease=true
env: env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}

View File

@@ -23,7 +23,6 @@ dependencies {
implementation( project( ":flatlaf-core" ) ) implementation( project( ":flatlaf-core" ) )
implementation( project( ":flatlaf-extras" ) ) implementation( project( ":flatlaf-extras" ) )
implementation( project( ":flatlaf-fonts-inter" ) ) implementation( project( ":flatlaf-fonts-inter" ) )
implementation( project( ":flatlaf-fonts-jetbrains-mono" ) )
implementation( project( ":flatlaf-intellij-themes" ) ) implementation( project( ":flatlaf-intellij-themes" ) )
implementation( "com.miglayout:miglayout-swing:5.3" ) implementation( "com.miglayout:miglayout-swing:5.3" )
implementation( "com.jgoodies:jgoodies-forms:1.9.0" ) implementation( "com.jgoodies:jgoodies-forms:1.9.0" )
@@ -35,7 +34,6 @@ tasks {
dependsOn( ":flatlaf-core:jar" ) dependsOn( ":flatlaf-core:jar" )
dependsOn( ":flatlaf-extras:jar" ) dependsOn( ":flatlaf-extras:jar" )
dependsOn( ":flatlaf-fonts-inter:jar" ) dependsOn( ":flatlaf-fonts-inter:jar" )
dependsOn( ":flatlaf-fonts-jetbrains-mono:jar" )
dependsOn( ":flatlaf-intellij-themes:jar" ) dependsOn( ":flatlaf-intellij-themes:jar" )
// dependsOn( ":flatlaf-natives-jna:jar" ) // dependsOn( ":flatlaf-natives-jna:jar" )

View File

@@ -44,7 +44,6 @@ import com.formdev.flatlaf.extras.FlatUIDefaultsInspector;
import com.formdev.flatlaf.extras.components.FlatButton; import com.formdev.flatlaf.extras.components.FlatButton;
import com.formdev.flatlaf.extras.components.FlatButton.ButtonType; import com.formdev.flatlaf.extras.components.FlatButton.ButtonType;
import com.formdev.flatlaf.fonts.inter.FlatInterFont; import com.formdev.flatlaf.fonts.inter.FlatInterFont;
import com.formdev.flatlaf.fonts.jetbrains_mono.FlatJetBrainsMonoFont;
import com.formdev.flatlaf.icons.FlatAbstractIcon; import com.formdev.flatlaf.icons.FlatAbstractIcon;
import com.formdev.flatlaf.themes.FlatMacDarkLaf; import com.formdev.flatlaf.themes.FlatMacDarkLaf;
import com.formdev.flatlaf.themes.FlatMacLightLaf; import com.formdev.flatlaf.themes.FlatMacLightLaf;
@@ -66,15 +65,12 @@ class DemoFrame
extends JFrame extends JFrame
{ {
private final String[] availableFontFamilyNames; private final String[] availableFontFamilyNames;
private boolean interFontInstalled;
private int initialFontMenuItemCount = -1; private int initialFontMenuItemCount = -1;
DemoFrame() { DemoFrame() {
int tabIndex = DemoPrefs.getState().getInt( FlatLafDemo.KEY_TAB, 0 ); int tabIndex = DemoPrefs.getState().getInt( FlatLafDemo.KEY_TAB, 0 );
if( SystemInfo.isJava_11_orLater )
FlatInterFont.install();
FlatJetBrainsMonoFont.install();
availableFontFamilyNames = GraphicsEnvironment.getLocalGraphicsEnvironment() availableFontFamilyNames = GraphicsEnvironment.getLocalGraphicsEnvironment()
.getAvailableFontFamilyNames().clone(); .getAvailableFontFamilyNames().clone();
Arrays.sort( availableFontFamilyNames ); Arrays.sort( availableFontFamilyNames );
@@ -286,6 +282,12 @@ class DemoFrame
private void fontFamilyChanged( ActionEvent e ) { private void fontFamilyChanged( ActionEvent e ) {
String fontFamily = e.getActionCommand(); String fontFamily = e.getActionCommand();
// install Inter font on demand
if( fontFamily.equals( FlatInterFont.FAMILY ) && !interFontInstalled ) {
FlatInterFont.install();
interFontInstalled = true;
}
FlatAnimatedLafChange.showSnapshot(); FlatAnimatedLafChange.showSnapshot();
Font font = UIManager.getFont( "defaultFont" ); Font font = UIManager.getFont( "defaultFont" );
@@ -350,7 +352,7 @@ class DemoFrame
fontMenu.addSeparator(); fontMenu.addSeparator();
ArrayList<String> families = new ArrayList<>( Arrays.asList( ArrayList<String> families = new ArrayList<>( Arrays.asList(
"Arial", "Cantarell", "Comic Sans MS", "DejaVu Sans", "Arial", "Cantarell", "Comic Sans MS", "DejaVu Sans",
"Dialog", "Inter", "JetBrains Mono", "Liberation Sans", "Noto Sans", "Roboto", "Dialog", "Inter", "Liberation Sans", "Noto Sans", "Roboto",
"SansSerif", "Segoe UI", "Serif", "Tahoma", "Ubuntu", "Verdana" ) ); "SansSerif", "Segoe UI", "Serif", "Tahoma", "Ubuntu", "Verdana" ) );
if( !families.contains( currentFamily ) ) if( !families.contains( currentFamily ) )
families.add( currentFamily ); families.add( currentFamily );
@@ -358,8 +360,9 @@ class DemoFrame
ButtonGroup familiesGroup = new ButtonGroup(); ButtonGroup familiesGroup = new ButtonGroup();
for( String family : families ) { for( String family : families ) {
if( Arrays.binarySearch( availableFontFamilyNames, family ) < 0 ) if( Arrays.binarySearch( availableFontFamilyNames, family ) < 0 &&
continue; // not available !family.equals( FlatInterFont.FAMILY ) )
continue; // not available
JCheckBoxMenuItem item = new JCheckBoxMenuItem( family ); JCheckBoxMenuItem item = new JCheckBoxMenuItem( family );
item.setSelected( family.equals( currentFamily ) ); item.setSelected( family.equals( currentFamily ) );