Text entry for traditional Harmonic Analysis

• Feb 26, 2015 - 04:57

I'm trying to use MuseScore (one of the daily builds) to do some Harmonic Analysis. In particular, I want to annotate a score with Figured Bass Notation where the chord is represented by a Roman numeral (upper and lower case) with "stacked arabic" numbers at the right (i.e. a superscript with or without a subscript) that indicate the voicing of the chord.

Something like the Roman Numeral Analysis shown here:

//en.wikipedia.org/wiki/Roman_numeral_analysis .

Is this possible? If so, where is the technique documented ... or more simply: How do I do it?

TIA
Tom.


Comments

Welcome aboard...

It's been decades since I've used figured bass, so I can't recall the specific layout style I used, but something like this is possible:

test

The wikipedia link you reference shows lower case Roman numerals, so instead of 'II', you can type 'ii', if that's what you want.

Anyway, figured bass is a brand new feature in MuseScore 2.0, set for release in March 2015. Work on the handbook and tutorials has progressed, but further documentation depends on the final release candidate.
Meanwhile, existing info. on figured bass can be found here:
http://musescore.org/en/node/15183

BTW:
In my posted image, to show Roman numerals, I used staff text (menu item: Style / Text / Staff) where I set the text size to 24, and the horizontal and vertical offset to 0.60sp and 10.00sp repectively. Under 'Alignment', the center text radio button was selected so that the Roman numerals are centered below the figured bass digits. Of course, these Roman numerals can be placed anywhere you want them - even to the side of the digits.

Regards.

Attachment Size
Figured Bass.png 12.21 KB

In reply to by Jm6stringer

> The wikipedia link you reference shows lower case Roman numerals

Well, upper case for Major triads/chords, lower case for Minor is the traditional usage.

> Roman numerals can be placed anywhere you want them - even to the side of the digits

Yes, the style I was taught has an Upper/Lower case Roman numeral with either a single superscript, or dual super- subscript Arabic numbers on the right hand side (to signify various inversions, sixths and sevenths, e.g.).

But: I was actually asking it it were possible at all ... if the capability was part of MuseScore. It seems that it almost is. But no matter: I can do this with Noteflight online, as I have been doing.

Thanks for the reply! (And I may give your suggestion a try, too: It would be nice to have all my work in a single place.)

The new figured bass facility in 2.0 is great, but unfortunately it's really intended for figured bass, not Roman numeral analysis per se. The main relevant difference being, figured bass doens't use the Roman numeral - just the Arabic numerals. So you can placed "64" using the figured bass notation, but would need to place the "V" separately using lyric, staff text, etc.

In reply to by Marc Sabatella

> The...facility in 2.0 is great, but unfortunately it's really intended for figured bass

Just so, and that (while disappointing) is not a deal-breaker for me. With fingers crossed, I was hoping that the feature existed but was as yet undocumented. I'm fine with it as it is.

Thanks for the input.

In reply to by Marc Sabatella

Just to explain a little more: I initially thought to include the Roman Numerals in the Figured Bass implementation (if you bother to check, they have been added in the font I created for it).

But, after some discussion with interested users, enough different styles of notating RNA emerged to force me to postpone this part. I have forgot all the details, but a trace can be presumably be found by searching the site for "roman numerals".

As a first, partial support, I have however added the possibility to line up the B.C. figures at their bottom, rather than at their top as usual for B.C., as this alignment is used with (some styles of?) RNA.

Note also that with 2.0, it is possible to add user-defined text styles; so, it is possible to define a text style called for instance "Roman Numerals" with the proper size, position, alignment, etc. and assign it to the relevant text fragments (whether they are staff texts or other) to have them properly formatted with a minimum of manual operations.

In reply to by Miwarre

@Miwarre.... Ah yes...
When I read the original post and tried my hand at Roman numeral analysis, I could sense that it wasn't as completely implemented as the figured bass feature.
I do, however, compliment you on your contribution in this area and appreciate your comments. I also agree that there are different styles of Roman numeral analysis. My own recollection (from decades ago) was that, for instance, in any major scale, triads built on scale degrees were all capitalized. It was understood that the II, III, and VI triads were minor mode - no lower case.
Anyway, with all the user controls available in MuseScore 2.0, I can see how RNA is possible - whatever style.

You people are doing an amazing job, and what great (and surprising) features have been added - especially with figured bass *and* tablature included in the same release! Such an accomplishment!
I eagerly await March 2015.
Best regards.
(BTW: how can one access the figured bass font to see the Roman numerals you mentioned?)

In reply to by Jm6stringer

"how can one access the figured bass font to see the Roman numerals you mentioned?"

Not easily, I agree. The fonts are embedded in the binary executable; to access them, the sources are needed; if one needs or want to look just at them, they are here .

Select the .ttf you are interested in (mscore-BC.ttf in this case) and use the "Raw" button (near "History") to download it (what actually happens pressing that button may depends on your browser...)

In reply to by Miwarre

> I have however added the possibility to line up the B.C. figures at their bottom, rather than at their top as usual for B.C.

You've lost me: What is "B.C."? "Bass Clef?" But you're right: At least the way I do it (as I was taught) is to annotate the RNA below the sta[ff|ves].

> with 2.0, it is possible to add user-defined text styles

At least at this point in my exploration of MuseScore, I'm afraid this capability is probably beyond me. I was totally unaware that MS allowed that level of customization.

But, if I can propose the RNA entry method for some future MuseScore release, it would be this:

  1. Select a note
  2. Enter text-entry mode (<C-k>)
  3. Enter the chord as, say, "V6/4" or "V4/3"
  4. Move to the next note
  5. Repeat...

This sequence marks up the staff with something like this:

Passing-Six-Four-Chords.PNG

And, while I freely admit my existing bias to this method because that's how it's done in Noteflight/Sibelius, it's also just very simple and intuitive. "6/4" is "six over four" and is just concatenated to the preceding text (whatever it may be).

It occurred to me that there should exist a font for Roman numeral analysis that doens't require any special software support - that just provides the necessary characters. Turns out after a brief search, there is. See this

http://www.caltabiano.net/shareware/

The "demo" version is pretty useful as is, full version may well be worth the $25 he's asking.

I'd love one with full horizontal bars for the "V", and with the Arabic numerals & diminished symbols a bit bigger.

Actually, I know just enough about font design that I could probably put something together when I have time - after release of 2.0! It should be pretty darned simple if you've ever played with FontForge or another font editor before. Would be a wonderful contribution to the community!

In reply to by Marc Sabatella

Here, BTW, is what I get with the aforementioned font. I entered these as lyrics, with the "Lyrics Odd Lines" text style set to SicilianNumeralsDemo, 14pt. The superscripted numbers are entered with "Shift". So the third chord, for example, is "I Shift+6 4".

roman.png

In my post above, I meant to have said, "if someone who *does* have the time right now wants to tackle this, it would be a wonderful contribution to the community"...

I'd start with FreeSerif but edit the I and V to extend the serifs to full horizontal bars extending the entire width of the character. Then replace the characters above the numbers with superscripted versions of the numbers (eg, @ is a superscripted 2) and the leadings and/or kerning adjusted so things line up as expected vertically. Provide an easier access to the diminished and half-diminished symbols - copy them to "o" and "0", say - and you've got something!

In reply to by Marc Sabatella

> Here, BTW, is what I get with the aforementioned font
Holy moly, that's precisely what I wanted when I started this thread!
[Edit: I reread your post, and see now that you have given directions. I got too excited and glossed right over that bit.]

Now I am forced to ask: What gyrations are required to have that ability here? I can do quite a bit of hoop-jumping, if necessary.

And, while your original "would be a wonderful contribution" may not have been what you wanted to say, the meaning came across perfectly fine. In fact, I do have some time, and I'd be willing to pay back what I can. I'll gladly install FontForge, and dive right in ... if only I knew what needed to be done!

> edit the I and V to extend the serifs to full horizontal bars extending the entire width of the character

Can you paint a clearer picture for me? But, as I read on in your post -- replace the characters above the numbers with superscripted versions of the numbers (eg, @ is a superscripted 2) and the leadings and/or kerning adjusted so things line up as expected vertically -- leads me to believe that I am probably not the best fit for the task at hand.

If there is a way I can contribute, point me at it. I am (sadly) not the Donald Knuth of musical fonts.

So I'll leave it at my original query: What must I do to make those characters appear in my scores?

In reply to by Marc Sabatella

Dagnabit! That is a cinch to do! You have given me precisely what I wanted, and I am thus a truly happy camper, indeed.

I'll retire to my musty corner once again, and remember that I owe you a beer. That is just as easy (perhaps even easier) than the entry method I proposed (er, stole from Noteflight).

Thank you!

In reply to by lasconic

What format is it? I had tried changing the filename to end in TTF and OTF, but neither allowed the file to be recognized by Windows Font Viewer. BTW, I see there are two copies of the file, the one in the Sicilian Numerals folder is 0 bytes, the one in the _MACOS folder is 29KB which looks more promising but I can't get it to work.

BTW, the license indicates you can distribute it but need to include the license text. I don't suppose that works for us?

In reply to by Marc Sabatella

The problem is that whoever created this file has done so on a Mac in such a way that the resource fork of the Mac file has been stuck on the front of the data fork. The data fork is the only part of the .ttf file that the PC needs (or can use), so a file prepared like this won't be accepted as a valid .ttf file on a PC. To resolve this problem you just have to remove the first 380 bytes from the .ttf file - then the file will be usable on a PC. I've done this and have attached the fixed version of the file below.

Attachment Size
Sicilian Numerals.zip 127.13 KB

In reply to by MarkWWW

Thank you! I am a reasonably technically adept person, but this is not something I'd have had much chance of figuring out on my own.

I am still wondering about the license and whether we could reasonably include this, or something based on it, in MuseScore. If nothing else, we could consider having a place on the site for downloading add-ons like this.

Thanks to all contributors for the info and th ecomments.

However, let me note that all of this has little to do with Basso Continuo and has much to do with other things like chord symbols, functional analysis and so on. In addition, there exist several styles of them.

It is a totally legitimate and interesting request, but it opens its own lot of cans of worms. So, it is not something I personally feel compelled to attempt to implement; if anybody else want to step forth, good! This is open source, folks!

Hi, this may not be the right place to ask. I am not a developer, and am only really trying to type out Roman numeral chords. Is there an easy way to do that? (sorry, I did not quite understand the posts above since they are rather technical).

Thanks.

In reply to by bone

The easiest way to type Roman numeral chords is to use either Lyrics (if you want them below the staff as is most customary) or Chord Symbols (if you want them above). To enter lyrics, click a note, press Ctrl+L, then start typing. To enter chord symbols, press Ctrl+K and start typing. For more information, see the appropriate sections of the Handbook.

I found a reasonable workaround that doesn't require buying and installing a special font. The font size and position can be specified for lyrics and figured bass, so by using both you can have a large roman numeral in one font next to smaller figured bass numbers.

For me, under Style -> General -> Figured Bass I set size: 6pt, vertical position: 7pt. Then under Style -> Text -> Lyrics Odd Lines I set size: 12, vertical offset 7sp. With these settings I can enter the roman numeral, then the figured bass for any stacked numbers. A diminished symbol is available in the list by pressing F2. The horizontal position of the numbers still has to be fixed using the arrow keys.

It looks like this: Capture.PNG

Attachment Size
Capture.PNG 21.38 KB

I realize this is an old thread and more recent solutions exist for figured bass...

BUT - when you want to do (what I will try to precisely describe as) "Traditional-Roman-Numeral-Figured-Bass-Harmonic-Analysis". This use of the lyric-line really does seem to be the best way - and I really do thank everyone who contributed to solving this problem...

That said, as of this date (9/20/2018), it was a royal pain in the butt trying to get the Sicilian Numerals font installed... Even after all these years, I had to: 1.) make the mistake that classical figured bass is not the same as jazz figured bass, 2.) find the George Hess "lyric-line" alternative, 3.) Download the George Hess "Sicilian Numerals" file, extract it and figure out it didn't work in Win10, 4.) do another search to find this thread, 5.) figure out merely typing .ttf on the end of the font file wouldnt work in Win10 and reinstall it as a .ttf, 6.) download the non-mac version tht deleted 300bytes that confused Win10, extract it, and reinstall it correctly...

My point?

Whoever is in charge of MuseScore - why not just include the correct font file, the whole "Traditional Roman Numeral Style Figured Bass" functionality, and George's video tutorial - in the next MuseScore distribution? Make it a standard part of MuseScore. The problem is basically solved, and it adds a nice new feature to the MuseScore program, but everything still lies asunder. It seems, if we just package it all together now, it should be fully complete.

In reply to by myMelodies

And after that obstacle course I just very luckily made it through - maybe we could call it "The LOL Style of Roman Numeral Figured Bass"?

LOL = Lyrics Odd Line

It seems to me it would be nice if this style of figured bass had its own functional designation in the menu or a plugin... I study under classical teachers, and they have always referred to the "old, traditional" method of figured bass (above), so I really didnt even know there was a more modern (jazz) style... It's nice to know both, so why not be able to access both directly from one of the main menu items (even setting the default font size to George's recommendation) - so everything is just ready to go?

In reply to by myMelodies

As discussed in other threads on the subject, the current thinking is that the best way forward is for someone to propose a standardization for RNA to the SMuFML folks, and then they can include the appropriate symbols in the next version of BravuraText. No reaosn we should have to (re)invent the wheel ourselves here.

Not sure what you mean about "jazz" style of figured bass, though. There is no such thing. Figured bass is figured bass, RN is RNA, and jazz chord symbols are jazz chord symbols. Three entirely separate things. MuseScore provides excellent support for figured bass and for chord symbols, but does not current provide support for RNA.

Does anyone know/have a guess what font Sicilian Numerals is based on, or is most similar to? See #1 below.

It's great to have the a method (and the Sicilian Numerals font) for traditional roman numeral analysis, but it doesn't work too well for pop/jazz lead sheets (for a summary of this style of RNA, see https://en.wikipedia.org/wiki/Roman_numeral_analysis#Jazz_and_pop_numer…). If Musescore does ever implement a separate RNA feature--which would be great--it should support the needs of bassists, guitarists, and keyboard players, and students of popular music (and I guess fake book publishers).

When I tried to use the Sicilian Numbers font in a lead sheet I found that:

  1. The Sicilian Numerals font doesn't include the whole alphabet, so you can't type in chord identifiers like "M7" or "aug." This is a fairly easy problem to solve, by editing the font to add the missing letters*. Ideally, one could copy over those characters from an existing font--that's the reason for my opening question.

  2. For lead sheets, the Chord Symbol command/function works ok--unless you also want to include the "real" chord symbols as well. In school and at work I've often had to write both Dm7 and ii7 (for example), one on top of the other. You can do that with Chord Symbols by setting up a separate text style for the roman numeral notation, and entering the roman numerals as a second set of symbols, but it's a whole lot of irritating work to change each symbol's text style one at a time. The Lyrics command/function is a little worse, since you can't add chord symbols to rests--where many chord changes happen (neither Lyrics or Chord Symbols can cope with changes during a held note). Also, reformatting each chord symbol with the correct text style is even more likely to be necessary than, since lead sheets with actual lyrics are very, very common (more so than lead sheets with both regular and roman numeral symbols).

*Note though that the ReadMe that comes with Sicilian Numerals doesn't say whether the author permits distribution of modified versions.

In reply to by Stephen Cummings

As it happens, this weekend I have been working on my own font for RNA. It's not based on Sicilian Numerals as the license status of that is unclear, and right now I'm actually trying to make the work as independent of the base font as possible. Feel free to discuss your concerns in more detail so I can try to address them as well as possible. But I do have it working with the full alphabet available, so things like IM7 or IIIaug are no problem. And although I didn't really go out of my way to make it work for normal chord symbols, it actually kind of does, so in pinch it might be possible to use the same font for both although it may or may not really work tht way in the end.

I should be done enough to post a link here later today so you won't have to wait long to try it out.

Meanwhile, though, regarding 2), there are actually a few things that can simplify your work already. For one thing, you don't need to change text styles one at a time - you can enter all your RNA text first, then select them all (eg, right-click one, Select / All Similar Elements) and change them all at once in the Inspector. Also, you can certainly have chord changes within a held note - just hit Space to move to the beat. Also, you can enter chord symbols on rests if you like. While Space won't take you there, you can simply click the resat and hit Ctrl+L.

In reply to by Marc Sabatella

First, as promised, here is the font available for download (you can grab either the TTF or OTF files):

https://github.com/MarcSabatella/Campania

This font is just a font - it does not require any special application support beyond some basic font support. It works in MuseScore of course, but I've also tested it with Sibelius and LibreOffice. To enter something like I64, just type exactly that, the automatic substitution and positioning rules within the font itself take care of the rest, at least for the cases I anticipated. Here is a demo:

Campania.png

This is actually the second version of the font. I did the first (based on FreeSerif) a couple of months ago, but based on feedback on a few different points, I scrapped that and essentially started over with a new version that is currently based on Doulos but would be relatively easy to port to another base font should the occasion arise. Basing on Doulos allows me to publish my font with less restrictive license terms.

I welcome feedback!

In reply to by Marc Sabatella

Wow, Marc, that's really great about the font. I don't have any specialist concerns--the coolness of single-character entry for base roman numeral symbols, with the standard items such as +, sharp, flat, diminished, and half-diminished, plus the full alphabet, will be quite adequate for lead sheets. It would be nice I guess to include one-character renditions of common terms like Maj, min, dim, aug, add, and sus, but these are easy enough to type out.

It would be grand if we could have a single font for all of this stuff--meaning regular chord symbols as well as the RNA items (ideally including little numerals with the proper spacing features a la Sicilian Numerals). I'd be happy to learn strange keyboard combinations or to pick items from a menu if it would allow me to enter RN chord symbols using the standard Chord Symbol feature.

My hopes for the Chord Symbol feature in general are along the lines of other suggestions above and in other threads: First, a way to enter multiple-line symbols would be very convenient (pressing maybe Ctrl+Enter to drop to the next line). I often consider two or three alternative 'spellings' on top of one another while I'm working through a piece, and sometimes retain them into the finished version. Second, pending a revision that 'fully' supports RNA, it would be nice to provide some simple convention for entering sharps and flats in front of a roman numeral chord symbol. (In Sicilian Numerals the flat symbol is on the "z" key, but you're presumably moving it elsewhere to allow typing of regular letters by the corresponding keys, and that will make it harder to enter.)

About your tips, the problem with Select All Similar is that it affects all lines of lyrics or chord symbols, if you have more than one, so you can't select all and modify only the roman numeral symbols if you have both those and either real lyrics or regular symbols. I'm aware that chord symbols can be applied to rests (whereas lyrics cannot be), but thanks for letting me know that I somehow forgot or anyway haven't been consciously aware that spacebar moves to the next beat (or subdivision) during chord symbol entry. I think I've been using it that way, though. I like the way Musescore decides flexibly where to move the chord symbol cursor, depending on the surrounding durations (or something like that). (You're very patient.)

In reply to by Stephen Cummings

This is a very basic question, but, having successfully installed Campania, and seeing it in the font list in MS, how do I tell "Chord Symbols" to use it on a particular score? Also, I assume if i upload that score, it will not display properly until .... (???), right.

In reply to by BSG

To select a font within MuseScore, you can either use Format / Style / Text Styles, or simply enter one element of the desired type, set it to the desired font in the Inspector, then hit the "Set as style" button.

However, while I mentioned it does work to use Campania as a chord symbol font, if you do that, you'll get chord symbols, not RNA. To get RNA, you really should use this font as ordinary staff text, or lyrics, or something else. Otherwise the regular chord symbol processing will get in the way the same way it would with any other font. For instance, typing "bII" should convert the "b" to a flat sign if this were RNA, but if it's a chord symbol, it will convert instead to "B".

In reply to by BSG

Oh, yeah, right, it will need to either be compiled into MuseScore and thus made available to everyone within the program as well, or at least installed on the server so that people who install it can see the results online. I'm guessing the former approach is the better one long term, but it will probably want to be combined with additional program support that might take a while. I'll see what I can do.

In reply to by BSG

I did put in a request to add it to musescore.com, we'll see.

As for the large question of dedicated RNA support, there are questions to consider about compatibility - adding a new element type, or even just a new text style or a new font - means scores created that way won't look the same in older versions. So we need to figure out when the right time is for such changes There is other work being done in other areas that will have similar considerations, so most likely, this would be something to consider for an eventual 3.2 or whatever, not a 3.1x update. But in principle it's a pretty easy implementation - make it behave just like chord symbols (or figured bass) but without the special processing.

In reply to by Stephen Cummings

In my Campania font, accidentals actually work the same as chord symbols do in MsueScore - when type "b", it automatically turns to a flat sign if it's a context where this makes sense. See my sample above.

Again, lyrics can be entered on rests. They couldn't in MuseScore 2, but can in MuseScore 3. As for select all similar, as I said, you do want to enter all the RNA first when using that approach. But the Campania font does work for chord symbols in MuseScore as far as I can tell, so it could possibly be viable to use it for both.
No guarantees, as it wasn't specifically designed for that.

Anyhow, download it, give it a shot, and let me know what you think!

In reply to by Marc Sabatella

Marc, I'm very happy with Campania for roman numeral work, so thanks again. I'm using it with staff text, where the main drawback is you can't advance to the next note or beat by just pressing the spacebar or Enter. Staff text entries for other purposes are pretty uncommon so it's no trouble to format them individually with a different text style.

Campania does work pretty well as the chord symbol font, and it would be great to be able to use the chord symbol feature to enter either regular or roman numeral symbols. There are two issues though: (1) flat signs preceding chord symbols--or any text--get turned (back?) into "b"s; and (2) special characters revert to their regular size and position under some conditions--for example, with Campania in the "7" in EMaj7 is large and on the baseline, but in E7, the "7" is reduced in size and superscripted. Also, a general problem with Campania is that the special characters (in their reduced, superscripted forms) get inserted unwanted into ordinary text strings. If you type "this" you get "t-natural sign-i-s." The common chord modifiers like add, aug, dim, maj or min don't have "b," "h," "o," or "x," but I sometimes type a comment after the chord symbol and so would like to be able to use arbitrary text.

A crude solution might be just to duplicate the flat sign and the letters that get goofed up to unused character slots. These could then be entered via a character map utility or whatever method is available for non-keyboard characters. A better option, maybe, would be to change the slots for the special symbols to correspond to keys like | ~ ` @ instead of letters, but that would probably mean having to edit the magic that determines when and how to substitute characters and change size and position. (In FontForge if I just copy and paste a character does that stuff go along with the outline, or is just the outline pasted?)

Attached is a character chart for Campania, which seems to show that the base font has all the letters where they normally are and has regular-size numbers.

Also, although you include single-slot versions of all of the roman numeral symbols, these must be entered manually, right?

Attachment Size
Campania Character Set.pdf 69.99 KB

In reply to by Stephen Cummings

Glad it's working for you!

Regarding staff text - try Alt+right - this will move to the next note. But it won't work like chord symbols to allow it on a space where there is no note.

The special processing is indeed a limitation to using Campania as a chord symbol font. Not sure there is a way to the same font work for both, really. Although from what I've learned with Campania, and having done the implementation of the chord symbol parser for MuseScore, I could pretty easily whip out another font that just applied appropriate rules for chord symbols. Not sure what the point would be though, since MuseScore and pretty much all other notation programs already do this. Still, it could be fun to have a chord symbol font that worked in a word processor I guess.

The Roman numeral glyphs I included because they were there in the font I used as a starting point (Doulos) and at first I thought it might simplify things for me to use them automatically. This turned out not to be true, though, so I removed the rules from the font that automatically converted the keystrokes. And that also means it won't actually work to use these characters currently - the rest of the special processing won't recognize them correctly. Right now I don't see any advantage to using them but if a reason presents itself, I can go back to the previous approach.

In reply to by Marc Sabatella

For me, pressing Alt+right while in staff text moves the cursor backwards, weirdly, within the current note's staff text string. I don't see that combo listed in the Keyboard shortcuts page except under "Lyrics entry." Any tips?

Please point me in a general direction regarding the auto-substitution tricks the font uses. Are these ligatures? I don't think kerning settings are involved since the font behaves identically whether kerning is on or off (the substitutions never happen in Word, and always happen in LibreOffice and MuseScore). I'm guessing that when for example a "7" appears to have been reduced in size and raised from the baseline, in actuality, the little superscripted "7" character has been substituted for the standard one. Am I right? (If I do try to modify the font for my own purposes I'll probably use the "dead key" option so that the alphabet keys work normally, but pressing, say, the `/~ key lets you access all the special characters where you'd expect to find them.)

In reply to by Stephen Cummings

Alt+right should move to the next note if you're on a recent release - I think that was added at 3.0.2 or so.

Regarding the substitutions, no, there are no ligatures. My first version of the font used that approach but it wasn't the right way.

If you want to learn more, check out the source - the ".fea" files in particular - on https://github.com/MarcSabatella/Campania. I didn't know feature file format before a few days ago, but it's pretty easy to read. Basically, I look for certain contexts and substitute the superscripted or subscripted version of the number as appropriate. So, for number after a letter, I superscript, for a number after a superscripted number, I subscript, etc. The superscripted and subscripted numbers are ordinary characters, so no kerning is needed to get that indeed. But, I do use kerning to get the subscripted numbers directly under the superscripted ones, and also to create the three-high stacks like for 643. Although I just realized that creates a problem with two-digit numbers (11, 13) which I otherwise handle, so I guess I need to deal with that differently (just excluding "1" from the kern would probably do it, since it will never be the top of the stack).

Tell me more about the "dead key" option - I know of this from Linux, but I don't know how to program that into the font. I guess I could just define "/6" to do the superscript rather than checking for the context, but I think most people wou/d prefer to just type.

But - wait, are you saying this doesn't work in Word? That's unfortunate if so. I'm only using really basic GSUB and GPOS features. Word doesn't do either, ever? I know I can't get it to work in Wordpad, but I assumed Word would be fine.

In reply to by Marc Sabatella

  1. Thanks for finding the hidden OpenType support in Word. I expect my use of RNA will be confined to Musescore, but "contextual alternates" could be useful in other situations.

  2. Thanks more so for the details on how the font's special features work. It doesn't look hard to define those substitutions. But there are a bunch more contexts needing definition in a modified Campania if auto-substitution is to work properly/consistently with regular chord symbols and also with RNA. As cool as the automatic substitutions are, I think if I take this idea any further, I may just remove the "fea" features from the font, and then create and memorize dead key-based sequences to insert exactly the characters needed for both types of chord symbols.

  3. You've probably figured out the dead keys thing by now, but a dead key is the first key in a multiple keystroke sequence (usually just the dead key followed by another key, which can be shifted). Pressing a dead key initiates one of these sequences, so it's not exactly 'dead,' but does nothing definitive--It's the second key that determines what happens. Dead key-based sequences can be used for commands, but when they're used to enter text, nothing happens when you press the dead key, but when you press the next key, a character other than the usual one for that second key appears in the text stream. In Windows you can select keyboard layouts with predefined dead keys for various languages (in the case of the Spanish keyboard layout, for example, you type accented vowels with the dead key trick), and you can use Microsoft's Keyboard Layout Creator to define custom, arbitrary global keyboard layouts that include dead keys. Alternatively, you can use scripting tools like AutoHotkey to redefine keys so that when the script is running they function as dead keys (https://autohotkey.com/board/topic/73437-how-to-create-a-dead-key/, for example).

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