There seems to be a bug in the latest version of Dorico (5.0.20.2042).
If you change the font family of a parent font style, all child font styles will be overwritten, regardless of whether they are set to a different font or not.
Example: The Font Style Default Text Font is usually set to the font family „Academico“. And the Font Style Default Music Text Font is usually a child of Default Text Font, but needs a deviating font family with musical symbols. Normally it is set to „Bravura Text“ instead of „Academico“.
Now, if you change the Default Text Font, for example to the font family “Nepomuk”, the Default Music Text Font will also be falsely changed to „Nepomuk". This leads to missing characters in chord symbols, tempo markings, or tempo equations. You will have to manually set the Default Music Text Font back to „Bravura Text“.
This error only occurs when changing the font family in parent styles, but not when changing other settings such as font size or font style. Font size and font style is maintained or adopted correctly in child styles.
Even worse, if you change the Default Text Font, you afterwards have to browse through all other font styles to see which fonts were changed incorrectly. Normally this only affects the already mentioned font style Default Music Text Font and additionally also the font style Tablature Numbers Fonts, which should be usually set to the font family „Lato“.
All of this makes simply changing the default fonts in your project extremely cumbersome and prone to errors.
I have noticed this — as every time I opened a Dorico file, I got a message that some of my fonts were not right, and I had a look at the font styles and noticed those discrepancies. Thanks for writing such a detailed post about that!
I have noticed this as well but in my case, it was what is desired. I assume that default text font means all text defaults–including lyrics, chords, repeat markers, tempos, etc…
I don’t like mixing fonts in my scores and like that I don’t have to fuss with changing every paragraph style.
I can see your frustration though.
Correct. The font style Default Text Font is typically used to consistently change all text fonts across the project by inheriting the properties to the child styles (lyrics, chords, repeat markers, etc.). But changing the default text font incorrectly overwrites all font family settings in the child styles, including those that require a different font with musical symbols, such as Default Music Text Font. This means that musical symbols like accidentals and note heads can no longer be displayed in text elements and will be replaced by mysterious rectangles.
The cause is that the font family inheritance rules are not working properly.
I think it’s definitely incorrect that the Default Music Text Font font style has Default Text Font set as its parent. I have no idea how long it’s been set that way, but it is certainly something we should fix. However, because the Default Music Text Font font style has an overridden font family and style by default, changing the font family used for Default Text Font won’t also update the font for Default Music Text Font, so I’m not sure what might be happening there.
I thought that Default Text Font was used as a parent font to simply inherit the font size to Default Music Text Font. But yes, of course, it makes sense that the Default Music Text Font shouldn’t have a parent at all. Even font sizes appear differently large from font to font and should be adjusted manually so that two different fonts fit together visually.
However, this strange behavior with the default fonts is just an example. As far as I’ve tested, the issue seems to occur with all parent styles and their child styles. Overriding a parent font family with a fixed font does not work correctly.