View Issue Details

IDProjectCategoryView StatusLast Update
0010256ardourbugspublic2026-03-23 11:37
Reporterstumps Assigned To 
PrioritynormalSeverityminorReproducibilityrandom
Status newResolutionopen 
PlatformUbuntuOSLinuxOS Version(any)
Product Version9.2 
Summary0010256: Inconsistent font size in GUI source-built Ardour instance
DescriptionKDE's XSETTINGS daemon asynchronously pushes Gtk/FontName "Noto Sans, 10" to source-built Ardour instances, overriding font settings randomly during startup, because source builds don't set ARDOUR_BUNDLED and therefore never run fixup_bundle_environment().
Steps To ReproduceRun source-built Ardour 9.2 10 times. Only 3 out of 10 times fonts are shown correctly (see attached images).
Additional InformationIssue is fully resolved by:

diff --git a/gtk2_ardour/ui_config.cc b/gtk2_ardour/ui_config.cc
index fcb909273e..4846f709ff 100644
--- a/gtk2_ardour/ui_config.cc
+++ b/gtk2_ardour/ui_config.cc
@@ -208,6 +208,7 @@ UIConfiguration::reset_dpi ()

gtk_settings_set_long_property (gtk_settings_get_default(),
"gtk-xft-dpi", val, "ardour");
+ g_object_set (gtk_settings_get_default(), "gtk-font-name", "ArdourSans 8", NULL);
DPIReset(); //Emit Signal
}


Suggested additional changes:

diff --git a/gtk2_ardour/ui_config_vars.inc.h b/gtk2_ardour/ui_config_vars.inc.h
index 0b56a13807..66c8f4211f 100644
--- a/gtk2_ardour/ui_config_vars.inc.h
+++ b/gtk2_ardour/ui_config_vars.inc.h
@@ -21,7 +21,7 @@

UI_CONFIG_VARIABLE (std::string, icon_set, "icon-set", "default")
UI_CONFIG_VARIABLE (std::string, ui_rc_file, "ui-rc-file", "clearlooks.rc")
-UI_CONFIG_VARIABLE (std::string, ui_font_family, "ui-font-family", "Sans")
+UI_CONFIG_VARIABLE (std::string, ui_font_family, "ui-font-family", "ArdourSans")
UI_CONFIG_VARIABLE (std::string, color_file, "color-file", "dark")
UI_CONFIG_VARIABLE (bool, flat_buttons, "flat-buttons", false)
UI_CONFIG_VARIABLE (bool, boxy_buttons, "boxy-buttons", false)
diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript
index e9f38fa3fe..eec8354a9f 100644
--- a/gtk2_ardour/wscript
+++ b/gtk2_ardour/wscript
@@ -833,7 +833,7 @@ def build(bld):
key = font_sym
font_subst_dict[key] = text

- font_subst_dict['FONTFAMILY'] = ''
+ font_subst_dict['FONTFAMILY'] = 'ArdourSans'
# RC file

obj = bld(features = 'subst')
TagsNo tags attached.

Activities

stumps

2026-03-22 00:06

reporter  

fonts_not_OK.png (310,674 bytes)
fonts_OK.png (286,410 bytes)

x42

2026-03-22 00:18

administrator   ~0030148

--- a/gtk2_ardour/wscript
+++ b/gtk2_ardour/wscript
@@ -833,7 +833,7 @@ def build(bld):
key = font_sym
font_subst_dict[key] = text

- font_subst_dict['FONTFAMILY'] = ''
+ font_subst_dict['FONTFAMILY'] = 'ArdourSans'
# RC file


This hunk is not correct, ArdourSans is supposed to be only set for `clearlooks.ardoursans.rc` and not `clearlooks.rc`.

stumps

2026-03-22 07:57

reporter   ~0030150

Confirmed. Issue is resolved without touching anything in ./gtk2_ardour/wscript

x42

2026-03-22 18:09

administrator   ~0030154

Does just changing
-UI_CONFIG_VARIABLE (std::string, ui_font_family, "ui-font-family", "Sans")
+UI_CONFIG_VARIABLE (std::string, ui_font_family, "ui-font-family", "ArdourSans")

suffice ?

Or is is also required to explicitly set it as gtk-font-name

diff --git a/gtk2_ardour/ui_config.cc b/gtk2_ardour/ui_config.cc
index fcb909273e..2801053325 100644
--- a/gtk2_ardour/ui_config.cc
+++ b/gtk2_ardour/ui_config.cc
@@ -34,6 +34,7 @@
 
 #include <ytkmm/settings.h>
 
+#include "pbd/compose.h"
 #include "pbd/convert.h"
 #include "pbd/error.h"
 #include "pbd/failed_constructor.h"
@@ -162,6 +163,8 @@ UIConfiguration::parameter_changed (string param)
                load_color_theme (true);
        } else if (param == "font-scale") {
                ArdourCanvas::Text::drop_height_maps ();
+       } else if (param == "ui-font-family") {
+               g_object_set (gtk_settings_get_default(), "gtk-font-name", string_compose ("%1 8", get_ui_font_family()).c_str (), NULL);
        }
 
        save_state ();

stumps

2026-03-23 11:37

reporter   ~0030155

So after a thorough testing (including what Robin suggested in the previous post) I found out that the ONLY one and ENOUGH by itself code change that resolves the issue in Ardour 9.2 is the initially suggested one:

diff --git a/gtk2_ardour/ui_config.cc b/gtk2_ardour/ui_config.cc
index fcb909273e..4846f709ff 100644
--- a/gtk2_ardour/ui_config.cc
+++ b/gtk2_ardour/ui_config.cc
@@ -208,6 +208,7 @@ UIConfiguration::reset_dpi ()

gtk_settings_set_long_property (gtk_settings_get_default(),
"gtk-xft-dpi", val, "ardour");
+ g_object_set (gtk_settings_get_default(), "gtk-font-name", "ArdourSans 8", NULL);
DPIReset(); //Emit Signal
}

10 out of 10 tries are showing the fonts correctly in KDE 5.27, Plasma 5.27 within Kubuntu 24.04.04 LTS

Issue History

Date Modified Username Field Change
2026-03-22 00:06 stumps New Issue
2026-03-22 00:06 stumps File Added: fonts_not_OK.png
2026-03-22 00:06 stumps File Added: fonts_OK.png
2026-03-22 00:18 x42 Note Added: 0030148
2026-03-22 07:57 stumps Note Added: 0030150
2026-03-22 18:09 x42 Note Added: 0030154
2026-03-23 11:37 stumps Note Added: 0030155