Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Option to use different font size for noteheads #24889

Open
2 tasks done
rpatters1 opened this issue Sep 23, 2024 · 8 comments
Open
2 tasks done

Option to use different font size for noteheads #24889

rpatters1 opened this issue Sep 23, 2024 · 8 comments
Labels
feature request Used to suggest improvements or new capabilities

Comments

@rpatters1
Copy link

rpatters1 commented Sep 23, 2024

Your idea

I would like the ability to make noteheads slightly larger than the "clean" size of 24 pts (the customary notehead font size that I am aware of). Specifically, I would like my noteheads to be 26 pts.

Problem to be solved

For scores where many staves must be crammed onto a small amount of space, having slightly larger noteheads enhances legibility. You can see this in the old 19th century engravings. The following is from the IMSLP scan of Mahler 9 Universal Edition:

Screen Shot 2024-09-23 at 7 49 15 AM

Notice how the noteheads bleed slightly over the line/space size. This slight bleed-over does not affect the legibility of chords. In a cramped situation, I think it enhances it. Here is an example from the same score:

Screen Shot 2024-09-23 at 7 51 48 AM

Prior art

Finale allows individual font face/size/style control over every notation element. While that may be overkill, I think allowing a size other than 24 for noteheads is essential for a polished and more readable score. (Specifically, 26 pts.)

Additional context

No response

Checklist

  • This request follows the guidelines for reporting issues
  • I have verified that this feature request has not been logged before, by searching the issue tracker for similar requests
@muse-bot muse-bot added the feature request Used to suggest improvements or new capabilities label Sep 23, 2024
@rpatters1
Copy link
Author

rpatters1 commented Sep 23, 2024

To illustrate further, I modified one line of MuseScore to illustrate the difference. I changed line 769 of engravingfont.cpp as follows:

 double size = 21.66667 * MScore::pixelRatio; // was 20.0

While this obviously introduced some undesirable drawing artifacts, it illustrates the different between (Finale's) 24 and 26 pt. (I now understand MuseScore uses 20pt.) Both of these were scraped at 201% view in MuseScore.

With 20.0:

Screen Shot 2024-09-23 at 10 58 47 AM

With 21.66667:

Screen Shot 2024-09-23 at 10 57 57 AM

As you can see, the latter option can stay readable at a smaller percent reduction than the former. To be clear, I only want this change for noteheads, not for any other symbols.

@rpatters1
Copy link
Author

I looked at Dorico to see if it can do this. Weirdly, it can do the opposite. It has a Default Music Font setting that lets you change the default from 20 to some other value (by half-points). It appears to affect everything except notehead size. (I can't imagine that this behavior is by design.)

Just to put it out there, I am willing to implement this feature (with supervision), since I suggested it. The change does not look terribly difficult to a naive eye. (Someone please correct me if I'm wrong.) But we would need consensus that it would be acceptable to merge it.

As far as a UI, I'm thinking a size setting for the music font in general (to match Dorico and Finale) and a separate for size for noteheads. Both would default to 20 in Format->Style->Score (and all the style setting places).

What about the Music text font? It currently appears to be hardcoded at a size as well, based on the lack of a size setting in the dialog. Dorico definitely allows this size to be controlled by the user.

@oktophonie
Copy link
Contributor

Dorico has a specific setting for notehead size:
image

I can't say I much like the idea of arbitrarily being able to change the size of all music symbols. Everything is designed in proportion to the stave space. I can sort of buy the idea of slightly enlarged noteheads, not that I personally enjoy how they look (nor do I think we have the same need for them as in 1909 or whenever).

The music text font can be used in text like any other font, and so can already be set to whatever point size you like.

@rpatters1
Copy link
Author

I can't say I much like the idea of arbitrarily being able to change the size of all music symbols.

I can't think of a reason I would use it, either. That said, it gives me the shudders to see the value 20 so often hard-coded in the code. Generally, best coding practice is that the only value that may be hard-coded is zero, though like any rule there are exceptions. (The point size for the music font doesn't remotely resemble an exception to me.) Perhaps it could be a hidden style parameter, or at least a #define macro.

nor do I think we have the same need for them as in 1909 or whenever.

De gustibus non est disputandum I suppose. To me it adds polish. I think we dismiss 19th/early 20th century engraving practices at our peril. At any rate, an engraving program ought to be able to accomplish them.

Thank you for digging out that Dorico option. I think it may be using SMuFL stylistic alternates embedded in Bravura to implement this. The options do not work correctly in Dorico with Leland (when I tried it just now). Plus, Dorico is already defaulting to "larger" for me, and it isn't really large enough.

Perhaps the UI could simply be a percentage multiplier for noteheads.

@rpatters1
Copy link
Author

rpatters1 commented Sep 24, 2024

As an example of why there is still a need in 2024 for a practice from ~1909, compare these two pdfs. The one with larger noteheads is clearly more readable, especially when printed and viewed from half-height, as from a conductor's position.

Patterson-Requiem-large.pdf (Finale 26 pt noteheads)
Patterson-Requiem-small.pdf (Finale 24 pt noteheads, the standard size)

@MarcSabatella
Copy link
Contributor

The one implementation gotcha I can tell you too look out for if you choose to try this is, there are places where a notehead width is used as a unit of measurement. Ideally I would hope that using the scaled width would yield good results, but I would recommend doing some analysis to see if there are some places where it would need to be the unscaled width in order to work out correctly.

@oktophonie
Copy link
Contributor

It's an unnecessary thing to be pursuing when there are thousands of other more pressing issues to think about, anyway.

@rpatters1
Copy link
Author

thousands of other more pressing issues

I admit I have weird priorities. But I can't conceive I'll be adopting MuseScore for a serious project before MuseScore 4.5. (I'm still a Finale boy, after all.) So I'm not necessarily going to jump right into this. I would like to be transitioning to a MuseScore version with as few compromises from Finale as possible, so if you can suggest a more pressing issue that would require me to compromise from Finale, I am listening.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Used to suggest improvements or new capabilities
Projects
None yet
Development

No branches or pull requests

4 participants