SMuFL, Bravura Text and chords

I’m just playing around with Bravura Text, but didn’t find a method to print a chord (c + e + g notes in one vertical line).
If I’m using E015 + EB9A + E1D6 it’s working fine, but how can I add other notes left aligned to the first one?

Is this not possible? I have searched the whole SMuFL specification, but didn’t find a solution…


Welcome to the forum, Crocri!
Can you tell what is the purpose of what you’re trying to do? I would rather use a music frame if it’s to add music like in a footnote or such…

Hi Marc!
I want (easy) visualize some notes from a stream. I need no pretty well formatted output. But it should be more or less correct. So, as an example, if in my stream all quarter notes start at the same time, they should be displayed one above the other, not in parallel. I thought, SMuFL Bravura Font is able to do so…

Like this?


Yep, like this.

Ok, there are a couple ways you can do it. I made a custom playing technique (How to Use the Playing Techniques Editor in Dorico Pro | Getting Started with Dorico 2 - YouTube). You have to do a little hunting for the glyphs, unfortunately, but once you get the hang of it, it goes pretty quickly.

Ok, but I want to do this directly with Unicode characters in a text editor via SMuFL specification and the loaded Bravura music font. Do you know, how this is done?

Attached. You can copy and paste the text item. It’s staff text, not system text.
chord as (340 KB)

Here’s how I did it:

  1. Use these glyphs, copy-paste:
  2. Set text to Bravura Text, 15.4 font size.
  3. Add three of the quarter note glyphs in a row (U+ECA5)
  4. Select the last, vertical offset by 6.5 points (this is different than the Dorico file I attached above, which was set to 6 points - the quarter notes came out a little squished, so I increased the vertical offset)
  5. Select the second, vertical offset by 3.25 points
  6. Select the second, set letter spacing to -4.10
  7. Select the first, set letter spacing to -4.10

Once you create it, you can always copy and paste it anywhere within the document, or into another document.

If you want it to be system text instead of staff text, you’ll need to use Alt-Shift-X and recreate it using the steps above.
chord as text.png

Just so everyone is clear, this seems to have nothing to do with Dorico.

Crocri, SMuFL pertains (mostly) to the encoding of specific, agree-upon glyphs on specific codepoints. Whatever application is using them is still going to do the low-level stuff regarding positioning and so on. This is off topic for the forums, but if you want to continue, it would help to clarify what you’re trying to do and where.

Thanks for your support. It’s only indirect related to Dorico - I know. But I want to understand the logic in the background.
It’s hard to find info about Bravura text and how it’s working. To summarize: Dorico is not using Bravura font only with Unicode characters, the tool is also using own algorithm to set note to the needed row and position, correct?
I only want to test some basics of SMuFL and Bravura text for deeper understanding. So I opened a text editor on macOS, load Bravura font, and input some Unicode characters from range E000-Exxx. I can position the notes you mentioned w/o problem, but cannot align them vertically as an chord. That was the root cause of my question here, sorry not to be so clear. Nevertheless you know how to align three notes, for example c-e-g, to a chord with Unicode only? If this is not possible with Unicode characters only, it’s also ok, I want only to know this….

My understanding of that question is that it is not possible. How would you create a vertical word with Unicode only, in a text editor? It looks to me as if it is what you’re trying to do…

You might want to consider creating graphics of the chords in some app like Illustrator or Affinity Designer, and importing them into the Playing Technique editor.

Ok benwiggy, that’s possible, but not so easy as typing characters.

Marc, do you know someone who can answer my question, perhaps a SMuFL/Bravura expert?

I think Marc did answer your question. It’s not the characters that determine their horizontal position; it’s the program you use to put them on the screen.

Yes, that’s correct.

Bravura/Bravura Text are fonts, and as such they come with very limited possibilities regarding the positioning and arranging of characters. Every font relies on the software it is used with to create something sensible with it, as basically fonts are just collections of glyphs, i.e. collections of symbol appearances, with lots of more or less complicated tables that store information about them (yes, this is a stark simplification).
That said, it would be theoretically possible to implement the positioning functionality you’re after inside those fonts, but that’s far outside their scope. Music notation is way too complicated to be handled by OpenType positioning code.

Yes, you can change the position individual characters in Bravura Text by using ligatures, which are defined in the font (e.g. “combining staff position 1” + “notehead black” as a ligature will show the notehead one staff position higher), but it’s certainly not possible with Bravura Text to build chords simply by typing a handful of code points into a text editor.

I did write some very basic documentation about Bravura Text which you can find on GitHub here.

Thanks for your input Daniel. That document is very interesting, and now Crocri received information from THE expert!

Well, besides the ligatures, you can also control a character’s position via specifically-applied kerning and tracking… InDesign, for example, only let’s you shift characters by an em, if I recall correctly, though. Most might be even more limited.

But yes, of course it’s the application’s job to sort out low-level stuff of glyph positioning. Notation softwares are mostly very, very smart text processors, in a way.

Hi and thanks for this explanation and for the link!
Now I’m a little bit smarter about SMuFL.
So it’s fine with me to close this thread.

Thanks to all for commenting this