I think
most people (safely) assume that saying such a thing won’t cause this response and some might say it because they find it a funny thing to say. I can imagine some people in my close circle of friends/family that might say it, but if they’ll find that it caused such a disastrous situation they will feel very bad…
Not sure why you got downvoted as well, that was very educating.
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).
Another thing about these chords ligatures is that they are “zero-width”. When you type /a/ it will get replaced with a the ligature for the A chords, which is a the shape of “A”, above the line (translateY: -150%), and report “advanceWidth: 0”, so the next character shares the same X position.
Now, if you want to add m6 to it, I technically cannot support rendering it “to the right of the A”, since its width was set to 0.
So I need to pack the font itself with both the A and the Am6 ligatures…
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.
What you suggested lastly is possible, most work will be coming up with a dumbed down editor for such a font. Per each ligature, the user should be able to provide a SVG(?) and control its y-offset and scale (currently I use the same values for all the ligatures).
DM me at Twitter (@verydutzi) if you want to talk about it, I’d be happy to!