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
Is this totally necessary? My question is genuine. I don't know much about font programming.
> I’ll add the option extend the list, and see if I can find a better list of defaults.
If the values have to be hard-coded. If you can get me a contact info, I could send you the master list of chords.. maybe you could use that. My username is not really figurative.
I could see multiple "versions" of the font. There are different conventions one could use to spell chords. Even something like Hal Leonard vs. Sher use different conventions. There's symbol shorthands, like writing aug vs. + or even ma7 vs. '△7'. Dim vs. a circle. There are quite a few different ways to do it so I think it could be cool if you could pick a version. But I could be overcomplicating this.
> I think a more “advanced” use case like the one you described can be addressed by something like https://lilypond.org
Lilypond is a music engraving system. That means that it is producing sheet music. That isn't really overlapping with what you're making as that is not sheet music, but more of a shorthand. I'm actually more interested in the kind of approach you're doing, as I hate sheet music. For me, what music notation needs is simply the chord, and the time. That's why I mentioned the use of '|' to indicate bar lines. Actually writing down and reading individual notes is something that basically takes years to learn, and I don't consider it in line with my (subjective) definition of modern music. Usually by the time people learn to read sheet music, they've completely missed real "playing", with all the effort going into sheet music instead. If you're someone who improvises, you just need the harmonic structure (chords over time).
So another question which might be simple-to-answer would be, can we make a font that just has some kind of thing (glyph, symbol, unicode code point) which raises the thing above the thing? Or do we absolutely need to hardcode it.
DM me at Twitter (@verydutzi) if you want to talk about it, I’d be happy to!