Your presets didn't even include the chord D6 for example. Why have 7th chords like A7 and not have A6? So either cover the chords, or don't pretend that it supports chords. You could change it to say "supports chords that [you] in particular have heard of". Unless there is a way to switch into that mode (where I can speak chords)? I noticed the first test string of \am7\ works, but can't get flats or sharps to work. It really should accept text like this:
Abmi6(#5,add9)/Db5
, or anything you want to write. I have a use-case where I invented a new way to describe chords, so any possibilities in the "normal" world of music don't apply. I also have a use-case where I want to be able to say any of the 12 * 2 * 12 things squared (squared because of "slash notation" adding a whole new identity to the chord symbol) what you could potentially be able to say in 12 roots 12 tone harmony with an extra component in the bass. There are 2415919104 possible inputs to this, but the thing is, there are multiple ways to spell that.I propose you do a chord spelling where to font only accepts capitalized letters as note names. Then you can use 'b' as flat '♭' and have no conflict with the note-name called B.
Also you can specify chords using numbers. Numbers accept accidentals before the number part of the string as opposed to after in the case of "alphabet" note names. And numbers can be spelled either "Nashville" like 1,2mi,3, or "Roman" like the following example. Notice to that in that one any minor or diminished or half-diminished chords use lowercase numerals.
Summertime - Gershwin
|Imi | iimi7(b5) V7 | Imi | |
|ivmi7 | | bVI7 V7 | ...
You could use numeral-glyph substitution when encountering substrings with consecutive members of "IiVv" that are also valid numerals.Also it would be nice to be able to use the character, '|', to add measure lines, fer countin', fer the slower ones out there like yours truly. I could see this as being useful if it could be used a little more comprehensively, like in the ways I've outlined.
"Easy" thing for you to do to improve this drastically is to make it so you can just have any old text you want in between the backslashes. Or have another entry point in the font where that is possible.
I never studied music theory, but I play guitar for >20 years, so I just picked some library I found that listed a few common chords, and put it there.
I never (knowingly) played a D6, so didn’t know to look for that one in particular :)
I’ll add the option extend the list, and see if I can find a better list of defaults.
The thing about those ligatures is that each one adds a bit to the font’s weight, they’re not referencing one another - it’s a lot of duplicated “paths” (and IIRC I can define up to 65,536 in total).
I think a more “advanced” use case like the one you described can be addressed by something like https://lilypond.org