UI font size

• Oct 29, 2018 - 20:43
Reported version
P2 - Medium
Graphical (UI)
S4 - Minor

Something changed the menu font size between OS: Windows 10 (10.0), Arch.: x86_64, MuseScore version (64-bit): 3.0.0, revision: 3543170

and OS: Windows 10 (10.0), Arch.: x86_64, MuseScore version (64-bit): 3.0.0, revision: 71322ee

It is now unusual small, in particular smaller then the menu of any other application.
This is a 15,6" display with 2880x1620 pixel and Windows scaling set to 175%, but no custom scaling in MuseScore.

It is not only the menu but almost any font (Palettes, Tabs, Buttons, etc)


There is a new option Font/Font size in Preferences, General, Theme which have to be changed from MS Shell Dlg 2 size 8 to size 9. Then anything is back to normal.

Looks like the same size for master and 2.3.2 here on Windows 7, with no scaling (i.e. 100%) on a 20" 1600x1200 screen.
But 3543170 is antediluvian, 5 1/2 years old, so well possible something changed

Not sure exactly which change you are talking about, there where very many between the 2 commits you mentioned, but I guess that is why this is now changeable via the Settings dialog

Before the new setting, menu and palettes font had different size and nevertheless both looked clean and well balanced.

But now the menu font and palettes font are the same size.

  1. If I set font size to 8 they are right for the palettes and tab headers etc. But for the menu unusally small. And the are looking clamsy scaled, that is to say not clean nor neat. See my second screenshot above. Please fix the clumsy scaling.

  2. If I set font size to 9, the menu fonts is matching the standard Windows menu font and is looking clean and and neat. But they are not well balanced, and consume more screen area as required, especially in palettes. In my opinion, the menu font size should not be affect by the font settings. This is controlled by Windows and should be left to Windows standard. Just the fonts "inside" of MS as palettes, tab headers etc should be affected.

Regression No
Workaround No

While in an ideal world people would get their Windows settings perfect and everything would look as desired in all applications, the reality is this is not the case. Especially in a world that contains high DPI displays but inconsistent OS support and library support for them. So we get numerous complaints about not being able to override the OS settings for application font sizes. Especially on Windows with high DPI displays, it would not be uncommon for the defaults to produce menus & palettes with text smaller than ideal (and that's not even counting the number of cases where the monitor resolution gets reported incorrectly, causing everything to be too small, or too big). Finer control is a good thing, and hence the change.

Now, it is worth questioning what the default should be. Ideally we would be able to see the OS defaults and use these rather than hardcoding values. Not sure how feasible that is across different OS's.

In reply to by Marc Sabatella

I could agree for the MS UI font size, even if I think it should be handled automagically. And there are still the command line parameters if some driver reports wrong DPI.

But for the menu size, in my opinion, if people are happy with the menu in any application they will be happy in MS too. If they are not happy, it is no rocket science to change the scaling in Windows.

A problem is that because all OS's have only half-baked high DPI support, each application ends up providing their own overrides, so many people are unaware their OS settings aren't very good, because the other apps are all doing special magic to be readable regardless. And the Windows settings are themselves fidgety and inconsistent. So no, it's unfortunately not the case in the real world that MuseScore's menu sizes are always reasonable and the same as other apps on the system. Wish it were that simple, but it just isn't.

exactly. I'm happy with the sizes and am using a 100% scaling, like probably >90% of the users.
You're not, after having set scaling to 175%... so what? You can set the scaling different or change the font size now

Actually, 100% scaling is only the default on "some" Windows systems. Depends on how the manufacturer configured it based on the display and drivers provided. It's really quite a mess. And the recent changes help. But sure, if we can improve things even more still, so much the better. Separate controls for menu and app font sizes could be a good idea, as could finding a way to set the default better.

FWIW, though, many people have complained that the palettes font has been too small in the past - it's noticeably smaller than the menu font size, for no good reason. So while I agree separate font sizes would be even better, I do think it an improvement that the palettes are no longer too small.

As for the scaling not looking good on your particular monitor with your particular choice of fonts and scaling, I'm not sure there is much MuseScore can do about that. MS Shell Dlg 2 at 8 point looks fine on my system (Surface Pro "5", at the default/recommended scaling of 200%). My guess is that 175% isn't optimal for font scaling operations at small sizes and integral multipliers work better, but that's more a matter for Qt and Windows to sort out.

As for the scaling not looking good, I ask myself why it looked good in the small palettes font until yesterday and still in MS2.

Not sure, but I believe that previously we didn't attempt to set a font size at all - the OS default was used. So perhaps it is something about setting an integral font size with a non-integral scaling? Definitely worthy of further investigation.

Found this bug after discussing this and a bunch of other problems last week at https://musescore.org/en/3.1beta.

The rule on Windows and Mac- and probably Gnome - is that menu sizes are supposed to be dictated by a system-wide preference. A couple people here have complained that this preference is frequently set badly or that numerous other applications are overriding that preference all the time anyways, but that's simply not true; it's extraordinarily uncommon to see that on a standard end-user system. And even if it were, then the correct thing to do would be to put two font size preferences in, one for the application menu and another for the palette etc.

Shrinking the menus to make them match the palette font size is not a reasonable move. Users launching MuseScore 3 will instantly notice that it's messing with conventions in a user-unfriendly way.

This is absolutely a regression; menu font size is normal in MuseScore 2.x (and is not tied to palette font size).

It's a change to be sure, but it's an improvement - providing a needed capability that didn't exist before - for a not-insignificant number of users (not just those who responded here, it was a common complaint on the forums and other channels as well). Meanwhile, it's true that for people who have overridden their default OS settings, it does requires a few extra seconds to override MuseScore's setting to match, and yes, it would be nice some day to detect the OS setting and use that by default.

In reply to by Marc Sabatella

THIS IS NOT AN IMPROVEMENT! In MuseScore 2.x the menu size and the palette size were both correct for a large majority of users, though a minority complained. Now they are both correct for ZERO users.

Here is the unfortunate choice users face now:
Set the preference to give a palette font size which doesn't crowd everything else out of your default workspace view. But then the application menu, dialog boxes, and other text elements are very small, though they have absolutely no reason to be. This is the default.

OR you can override the default and force the menu bar and dialog boxes back to a normal font size like everything else in the operating system. But now the palette etc panels, which had smaller text in 2.x for good reason, are less able to fit things in the workspace.

For you, no, it does mean a few extra seconds once after installing MuseScore to customzie the font size, so a tiny step backwards indeed. For the large number of affecters users, including many with visual impairments or using display device / property / OS combinations that do not result in good automatic settings, it definitely is a huge improvement, allowing for customizations that wsimply were not possible (or took far more than a few extra seconds) before. Again, sure, ideally, we'd even be able to save those few extra seconds for users who have customized their OS defaults, which is why this issue exists - it's definitely worth fixing as development resources (and the Qt libraires we depend upon) permit.

The fact that the palette text is now more closely aligned with the application font size is really a separate issue, again, it's a huge improvement for many people. If you prefer the labels to be a different size smaller than the rest of the text in UI for whatever reason, feel free to submit a suggestion for a feature allowing that customization. You might also want to consider whether there should be additional individual controls for the labels in the Inspector and other UI components, or it's really sufficient for your unique purposes to be palettes on one hand vs menus and everything else on the other.

Actually,. I'm confused by your statement "Now they are both correct for ZERO users". That's obviously not the case at all. The sizes shold be correct for the vast majority of users - anyone who has not previously customized their OS defaults. If you are seeing a need to change font size in MuseScore despite not having customized your OS defaults, that sounds like a new problem you should report separately (and provide all relevant details so we can understand better).