Using custom fonts for Chord symbols

• Jun 27, 2021 - 16:09

It looks to me that in MuseScore chord symbols are locked to the single font.

However, there are other fonts now available on Internet that also use advanced font techniques (like substitutions/ligatures - I think that is the correct term) in a similar way as Marc Sabattela's font used for Roman numerals, and could be used as a viable alternative. MusGlyphs and MusAnalysis are very fine fonts developed by Dan Kreider.

In the attached figure is how font MusGlyphs renders tekst "Cdim0/Eb".

The problem must be in two things
1) How can MuseScore do the transposition when custom font is used
2) How can MuseScore do chord realization with custom font is used
However, this problems should note be unsolvable.

Attachment Size
ChordSymbol.png 4.19 KB


In reply to by Jojo-Schmitz

It does not look to me like that. I just changed the style from Jazz to Standard (or Custom), that was part of the problem. Now while I'm editing the chord symbol in MusGlyphs font, it is rendered correctly. But the same moment when I exit from the editing, the chord symbol is changed to its raw string "Ddim0/F". Either the font is changed or the font ligatures/substitutions are not obeyed by MuseScore?
This does not happen when I'm using some other type of text (like System or Staff text).

OS: Windows 10 (10.0), Arch.: x86_64, MuseScore version (64-bit):, revision: 3224f34

In reply to by Jojo-Schmitz

Well, then you misunderstood me. The post is about using custom fonts, like MusGlyph, for chord symbols.
It would be interesting and challenging to try to design a solution that could support multiple fonts. And this is the reason why the post is in Feature Request forum.

In reply to by hstanekovic

If you type the letter "o" for diminished, you should definitely get the letter "o", and if the font you are using displays that as a superscripted diminished symbol, it will display as such. but if you try accessing some sort of special diminished sign only known to that font, it won't work - the font has to adhere to standard conventions. My understanding is that the font you are referring to is highly specialized and not intended for this purpose. Probably you could edit the font to give it more expected code point though, or create a custom chord description XML file tailored for the particulars of that specific font.

In reply to by Marc Sabatella

Hi Marc. Yes, this font is specialized and not developed adhering to MuseScore conventions.
I wonder is chords.xml file the only thing that MuseScore uses for parsing, realizing and transposing chords? That is, there are no some hidden rules that I can not customize?
If really everything is in chords.xml then it could be possible to customize it so that MuseScore can parse different text constructs.

In reply to by hstanekovic

I don't mean special MuseScore conventions - I mean ordinary Unicode conventions. Chord symbols in MuseScore are designed to work with standard fonts, using standard Unicode code points.

chords.xml is not relevant except for compatibility with pre-2.0 scores. It's chords_std.xml and chords_jazz.xml that define the rendering of chord symbols. Parsing is not meant to be customizable - to get MuseScore to recognize that you want a diminished chord, it has to be dim, o, or the Unicode diminished symbol. But how that gets displayed - that's what these XML files control.

Chord symbols are parsed by MuseScore to be able to understand them, both for transposition and playback as well as best export options to other formats.
To that end, the chord you enter is broken down into a bunch of logical units (root, qualifier, extension, ...) and the final rendered chord is built back up from that parsed information according to the Chord Symbol style settings (which include capitalization and positional offset etc). This rendered version is rendered using whichever font you so choose.

Now because all of the parsed components are rendered individually (allowing for position/scaling them) it might indeed be that some ligatures from your chosen font seemingly are "not working" simply because the rendered element no longer contains all of the required characters for the ligature to kick in.

One of the GSoC projects this year is about providing a better Chord Symbol Style editor; it could be a nice option there to be able to choose "Don't style anything and output a single string of the result" which might then allow those ligatures from the font itself to kick back into working mode..

Do you still have an unanswered question? Please log in first to post your question.