diff --git a/jadx-gui/src/main/java/jadx/gui/settings/font/FontAdapter.java b/jadx-gui/src/main/java/jadx/gui/settings/font/FontAdapter.java index ef2617df0..2ecf3e119 100644 --- a/jadx-gui/src/main/java/jadx/gui/settings/font/FontAdapter.java +++ b/jadx-gui/src/main/java/jadx/gui/settings/font/FontAdapter.java @@ -8,7 +8,6 @@ import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import jadx.core.utils.Utils; import jadx.gui.utils.FontUtils; import jadx.gui.utils.UiUtils; @@ -24,7 +23,7 @@ public class FontAdapter { private Consumer fontSetter; private float uiZoom; - public FontAdapter(Font defaultFont) { + FontAdapter(Font defaultFont) { Objects.requireNonNull(defaultFont); this.defaultFont = defaultFont; this.font = defaultFont; @@ -39,12 +38,12 @@ public class FontAdapter { } public void setDefaultFont(Font newDefaultFont) { - Objects.requireNonNull(newDefaultFont); + Font newDefFont = FontUtils.toCompositeFont(newDefaultFont); Font prevDefaultFont = defaultFont; - defaultFont = newDefaultFont; + defaultFont = newDefFont; if (font == prevDefaultFont) { // font was set to default => update it also - setFont(newDefaultFont); + setFont(newDefFont); } } @@ -57,7 +56,11 @@ public class FontAdapter { } public void setFont(@Nullable Font newFont) { - font = Utils.getOrElse(newFont, defaultFont); + if (newFont != null) { + font = FontUtils.toCompositeFont(newFont); + } else { + font = defaultFont; + } fontSetter.accept(getFontStr()); applyFontZoom(); } diff --git a/jadx-gui/src/main/java/jadx/gui/settings/font/FontSettings.java b/jadx-gui/src/main/java/jadx/gui/settings/font/FontSettings.java index 68be92b6a..c5e8cb583 100644 --- a/jadx-gui/src/main/java/jadx/gui/settings/font/FontSettings.java +++ b/jadx-gui/src/main/java/jadx/gui/settings/font/FontSettings.java @@ -7,11 +7,12 @@ import javax.swing.UIManager; import com.formdev.flatlaf.FlatLaf; import com.formdev.flatlaf.fonts.inter.FlatInterFont; import com.formdev.flatlaf.fonts.jetbrains_mono.FlatJetBrainsMonoFont; -import com.formdev.flatlaf.util.FontUtils; import jadx.gui.settings.JadxSettingsData; import jadx.gui.utils.UiUtils; +import static jadx.gui.utils.FontUtils.getCompositeFont; + /** * Handle all font related settings */ @@ -32,8 +33,8 @@ public class FontSettings { public FontSettings() { int defFontSize = 13; - Font defUiFont = FontUtils.getCompositeFont(FlatInterFont.FAMILY, Font.PLAIN, defFontSize); - Font defCodeFont = FontUtils.getCompositeFont(FlatJetBrainsMonoFont.FAMILY, Font.PLAIN, defFontSize); + Font defUiFont = getCompositeFont(FlatInterFont.FAMILY, Font.PLAIN, defFontSize); + Font defCodeFont = getCompositeFont(FlatJetBrainsMonoFont.FAMILY, Font.PLAIN, defFontSize); uiFontAdapter = new FontAdapter(defUiFont); codeFontAdapter = new FontAdapter(defCodeFont); smaliFontAdapter = new FontAdapter(defCodeFont); diff --git a/jadx-gui/src/main/java/jadx/gui/utils/FontUtils.java b/jadx-gui/src/main/java/jadx/gui/utils/FontUtils.java index d0c68d117..533292546 100644 --- a/jadx-gui/src/main/java/jadx/gui/utils/FontUtils.java +++ b/jadx-gui/src/main/java/jadx/gui/utils/FontUtils.java @@ -101,6 +101,10 @@ public class FontUtils { return com.formdev.flatlaf.util.FontUtils.getCompositeFont(family, style, size); } + public static Font toCompositeFont(Font font) { + return getCompositeFont(font.getFamily(), font.getStyle(), font.getSize()); + } + private FontUtils() { } }