private static Font getGnomeFont() {
		// see class com.sun.java.swing.plaf.gtk.PangoFonts background information

		Object fontName = Toolkit.getDefaultToolkit().getDesktopProperty( "gnome.Gtk/FontName" );
		if( !(fontName instanceof String) )
			fontName = "sans 10";

		String family = "";
		int style = Font.PLAIN;
		double dsize = 10;

		// parse pango font description
		// see https://developer.gnome.org/pango/1.46/pango-Fonts.html#pango-font-description-from-string
		StringTokenizer st = new StringTokenizer( (String) fontName );
		while( st.hasMoreTokens() ) {
			String word = st.nextToken();

			// remove trailing ',' (e.g. in "Ubuntu Condensed, 11" or "Ubuntu Condensed, Bold 11")
			if( word.endsWith( "," ) )
				word = word.substring( 0, word.length() - 1 ).trim();

			String lword = word.toLowerCase( Locale.ENGLISH );
			if( lword.equals( "italic" ) || lword.equals( "oblique" ) )
				style |= Font.ITALIC;
			else if( lword.equals( "bold" ) )
				style |= Font.BOLD;
			else if( Character.isDigit( word.charAt( 0 ) ) ) {
				try {
					dsize = Double.parseDouble( word );
				} catch( NumberFormatException ex ) {
					// ignore
				}
			} else {
				// remove '-' from "Semi-Bold", "Extra-Light", etc
				if( lword.startsWith( "semi-" ) || lword.startsWith( "demi-" ) )
					word = word.substring( 0, 4 ) + word.substring( 5 );
				else if( lword.startsWith( "extra-" ) || lword.startsWith( "ultra-" ) )
					word = word.substring( 0, 5 ) + word.substring( 6 );

				family = family.isEmpty() ? word : (family + ' ' + word);
			}
		}

		// Ubuntu font is rendered poorly (except if running in JetBrains VM)
		// --> use Liberation Sans font
		if( family.startsWith( "Ubuntu" ) &&
			!SystemInfo.isJetBrainsJVM &&
			!FlatSystemProperties.getBoolean( FlatSystemProperties.USE_UBUNTU_FONT, false ) )
		  family = "Liberation Sans";

		// scale font size
		dsize *= getGnomeFontScale();
		int size = (int) (dsize + 0.5);
		if( size < 1 )
			size = 1;

		// handle logical font names
		String logicalFamily = mapFcName( family.toLowerCase( Locale.ENGLISH ) );
		if( logicalFamily != null )
			family = logicalFamily;

		return createFontEx( family, style, size );
	}
Gets the default font for Gnome.
flatlaf-core/src/main/java/com/formdev/flatlaf/LinuxFontPolicy.java