Numbered Notation, a.k.a. "Jianpu".

For our purposes, not to preciously have a Jianpu notation, but for an aid for note reading:
0-7 (for note pitch and rest)
multiple dots below and above (for octaves)
multiple underline below (for eight/sixteen…)
joined underlines would be preferrable but acceptable if separeted.
slurs above across two or multiple notes
various types of barlines (at least single/double/final barline)
dots between for dotted rhythm
and maybe some more little detail.

Attached a collection of Jianpu fonts I found. I even tried to modify one of it to be used in Dorico as lyrics. (Changed some keys to avoid conflicts with Dorico pharsing the underscore and dash or something I forgot). Although most of the documents are in Chinese, but might be still helpful to understand what and how they support in Jianpu notation.

I really, really appreciate you and all Doricians who are willing to give this some love.
JianPu Fonts.zip (906.9 KB)

Ok, here’s the biggest problem, and how I would solve it:

2950aed4-2a05-4c8f-a20e-f466971ffb1b

One “s” is a short slur, but ss is a ligature: a key combination that returns a different glyph (in this case, a longer slur). I created the following ligatures:

s_s.liga
s_s_s.liga
s_s… up to seven keystrokes. I made each one 200 units longer than the last. All slur ligatures are zero-width, meaning they don’t advance the cursor because they don’t take up any space. The slurs look bad because I just grabbed and stretched them in the font program. If you wanted to do it properly, your best bet would be to create some slurs of increasing lengths in Dorico and snip them as SVGs using graphic slices:

Then you could import them into the font program to use as glyphs for each of your ligatures.

Here’s a rough idea of some combinations for numbers:

These ligatures are:
underscore_one.liga
one_underscore.liga
one_underscore_underscore.liga
one_underscore_period.liga
one_period.liga

The longer underscores could be overlapping with what comes before or after. So you’d type _1, or 1_, or 1__ (two underscores), etc. You could also do longer combinations if the music was spaced out.

If you’re feeling brave, you can make this much simpler using composite glyphs. That’s where you set up glyphs and execute a bulk action to combine them. I don’t do that… I prefer to adjust each one as needed. Copy-paste is your friend.

Yes, it’s a bit of work. But it goes fast once you get the hang of it, and it really is quite rewarding to solve these sorts of problems.

You can also use lookbehind and other OT functions if you want to be a real font wizard. Those functions change a glyph depending on what came before it. (or what comes after it). They’re also called “contextual alternates.” And yes, Dorico supports them. MusAnalysis relies heavily on them.

Here is one of the sample I was trying for a song for a youth choir.
I used the font I modified from NDS Jianpu font. It’s the only Jianpu opentype font that utilized some ligatures for slurs, underlines, etc.

I could not get the barlines perfectly aligned so I temporarily omitted it. Since it works as an aid only for identifying note pitches and rhythm. (Still trying to persuade the committee to accept though)

This might provide some idea of what I want to achieve and how I mess up currently. Thanks!

一片小雲(幼年2-1-3)_JP Test - Voice.pdf (65.2 KB)
一片小雲(幼年2-1-3)_JP Test - Full score.pdf (77.4 KB)
一小片雲(幼年2-1-3)_JP Test.dorico (849.9 KB)

I was thinking about that. For barlines, I would probably just create a glyph in the font that uses the pipe character, then add them using the caret at an unused rhythmic position, then nudge them into alignment using Engrave. Mildly tedious, but not bad. A hymnal is a labor of love anyways, there’s no way around that.

I’m signing off now, but let me know how it goes. I don’t have the time to create the font myself, but happy to give advice if you want to tackle it. I’m sure it’s very doable. Like Roman numeral analysis, jinapu deserves a beautiful font that harmonizes with the notated score. Don’t settle for something less than beautiful.

PS: The most time-consuming part will be creating slur ligatures that look beautiful and consistent. The rest is just grunt work.

PPS: one more trick. Once you’ve established how many possible combinations there are for each number, you can easily compile these in a spreadsheet. Here’s a start, using “one” (there would probably be many more combinations):

Note that you are always thinking in terms of the user. Choose key combinations that require minimal consultation of the documentation, and create ligatures that follow this.

You can then generate ligature names using the CONCATENATE function, and copy-paste this list into your OpenType generator function in FontCreator. You’ll still have to do some copy-paste, but this batch function really shaves off the time.

Florian’s fonts are much more elegant in their creation, since he uses more contextual alternates and composite glyphs. My method is more brute-force, but it doesn’t require quite as high of a font IQ! :sunglasses:

Thank you Dan for all the wisdom!
Not sure if I can work it out as an old guy, but I’ll try!

I am well aware that this is a Dorico only forum, but I have a very large amount of experience with Lilypond. With over thirty years of development you can’t say Lilypond is not ‘professional’ software. The point being, Lilypond can do Jianpu, and because Lilypond is open source it can be made to do virtually anything, if you have some skill or can find somebody to help. But there are Jianpu solutions available. For example:

http://ssb22.user.srcf.net/mwrhome/jianpu-ly.html

I’d would say without any bias one way or another that Dorico and Lilypond both produce very fine and ‘professional’ output.

Lilypond is of course free and open source software. A somewhat steep learning curve, but no harder than Dorico. And if you want a graphical environment, you can use Frescobaldi.

Perhaps your committee could reconsider in the light of this.

Also, if its of help, any guitar players amongst your circle wanting to join in the fun, could look to the recent Guitar-Pro v 8.1 release, that added support for Jianpu notation.
[New free updade] Guitar Pro 8.1 is available! - Guitar Pro Blog - Arobas Music (guitar-pro.com)
(scroll down to item 3 - The numbered musical notation called Jianpu)

Indirectly, this may give ideas about use for your hymnal works (fonts, single line experiments and print the output to share, etc…)

The stated philosophy of the wonderful Whole Earth Catalog was ‘get the right tool for job’, a credo I live by. Right now, Dorico is not the right tool for the job, but there are other tools that are. It doesn’t hurt to have a large cabinet of different chisels.

If and when Steinberg does it, it will be better than anything, for sure! But you may be waiting a long time.

Notice that the Wikipedia article on Jianpu specifically mentions the Lilypond tool, at the end:

From that page:

There are also technical methods of printing numbered notation (in various forms) with GNU LilyPond. One of them is a converter that converts jianpu to LilyPond notation.[15][16][17]

1 Like

How have I never known this before now?

Thank you for the suggestion! I am full aware of Lilypond. I’ve seen many great beautiful engraving works by Lilypond and have absolutely no doubt how powerful it can be. Just still hoping/try to have JianPu in Dorico. I want to promote Dorico in our church not only for a single hymnal project, but also for more publications coming along and to help more composers unleash their creativity and passion in creating more sacred church music with proper/better tool. Lilypond is great, but maybe a bit more difficult for musicians to get used to for flowing their music ideas in the way they can be more comfortable with.

But I’ll certainly look into it (Just installed Frescobaldi). As there are seriously some demand for JianPu here, for example, a hymnal version that has full SATB notated in JianPu which we did many, many years ago. I am still thinking about how to get this done in an elegant way…

Thanks everyone for the great ideas and suggestions! I still hope to see JianPu function in Dorico someday, hopefully soon.

1 Like