Cifras.ttf

• Oct 4, 2019 - 21:33

Good night. I created it in a cipher font and tried to use it in musescore. It turns out that when I type in the numbers, it looks perfect. When I give ok, there is a very large space between the cipher letter and the flat + complement. I will post the picture of what happens. If anyone knows of any settings, they will be welcome. I tested on word and other music programs and it looks perfect. See the images below. In the first example (a), it's when I'm still typing; In the second example (b), the cipher is typed where you can see what happens. In the third example (c), the same cipher typed in word.

Attachment Size
a.jpg 24.3 KB
b.jpg 23.35 KB
C.jpg 32.78 KB

Comments

There are different codepoints for flat signs in a font. I am guessing you provided the Unicode one bu not the SMuFL one, so MuseScore is falling back to a default font for that glyph when rendering the chord symbol.

In reply to by roninho aguiar

Well, yes, Finale does things differently.

Let's start over. How are you getting that flat sign to appear int he chord? Are you typing "b", and your font literally uses a flat sign in place of that letter? THis won't work, MuseScore substitutes the true flat sign. Are you actually inserting a flat sign into the chord symbol? This works only partially, MuseScore will render it literally but it won't be understood correctly. Maybe you are using GSUB in your font to display the flat glyph when you type "b"? This should work, agai, though, only if you've placed the flat glyph at the proper codepoints. It needs to still be a "b" in the literal string you type, and then MuseScore automatically converts it to a true flat sign at the proper codepoint. You can actually customzie which codepoint is used by creating a custom chord description XML file, but you probably don't want users of your font to need to also install a custom XML file, so better to just use the standard codepoints for flat (and, of course, the other relevant symbols).

If you attach your font, we can help you get it to work.

In reply to by Marc Sabatella

Well, Mr Mark. You have so far told me what doesn't work in Musescore. I want someone to give me the solution to this problem. I also want to say that when I type "b" the flat appears in the cipher. There is no letter b in my font. Other musical sources (opus, opus plain, etc.) also do not work in Musescore. I hope a solution on how to solve this. Making a font is not easy. It is even harder to understand why it works in other programs and not in this one.

In reply to by roninho aguiar

I'm sorry I haven't been able to make myself clear enough. I have been trying to explain what you need to do, but I suspect there may be a bit of a language gap here that is getting in the way of our understanding each other fully/

Anyhow, to be extremely clear about what you need to do:

1) place your flat sign in both the Unicode and SMuFL codepoints for flat
2) when creating chord symbols within MuseScore, type "b" - do not use the literal flat sign

These two steps are mandatory.

In addition to those two steps, if you want your font - unlike other fonts - to actually display a flat sign while typing the "b", you need to do one of the following:

3) place your flat sign in the "b" codepoint

or

4) use a GSUB rule in your font to substitute the flat sign when a user types a "b" in the right context

From what I can tell, you have done 2) and 3), but I think you have not done 1), and that is why it isn't working. MuseScore automatically substitutes the flat sign for "b", but if your font does not have a true flat sign at the proper codepoint, then it will substitute the flat sign from another fallback font. I think you have probably placed your flat sign in the "b" position only, which again will not work.

I would also suggest that if you want the flat sign to appear while typing, you shouldn't actually do 3) but should instead do 4). The reason is, by doing 3), that means all b's you type will turn into flats, but this won't work if using the "lower case minor chords" option, which is popular in many countries. That is, many people around the world would use "b" to mean a B minor chord, and they will not want that to display as a flat sign. By keeping a "b" in your font but using a GSUB rule to substitute a flat sign only if it follows another letter, you can have "b" display as the letter, but "Ab" display with a flat sign.

Using GSUB rules is kind of an advanced technique, but well worth learning about. If you choose not to, you will have that limitation - the lower case minor chords option won't work correctly. You'll have exactly the same problem if you try using lower case minor chords in Finale, or Word, of course. So if you know none of the users of your font will ever want lower case minor chords, you can ignore this advice for now.

But you need to complete step 1) above - placing your flat sign at the proper Unicode and SMuFL codepoints. And same with the other symbols you use.

Again, if you attach your font, we are happy to assist further!

In reply to by roninho aguiar

Thanks for attaching! Not sure where else you attached it, but it wasn't in this thread (I just checked again), so there might have been some additional information you provided elsewhere as well that I am not seeing, sorry if I missed something important.

Anyhow, just as I guessed, you did not place your flat sign at the proper Unicode and SMuFL codepoints for the flat sign. So only the "b" display the flat sign, but the actual flat signs (as used in MuseScore and any other program expecting the standard codepoints) are missing. So, you simply need to copy them there. I tried it with your font (using FontForge) and it worked perfectly. I don't know how you'd do it in FontCreator, but U+266D is the Unicode codepoint for flat, U+266F for sharp, so that is where you need to copy the flat and sharp to (can be just a "copy reference").

BTW, I see your font also has some special characters for Roman numeral analysis - nice! Not sure if you were aware of this, but MuseScore 3.3 already includes built-in support for Roman numeral analysis using the open source Campania font, which uses GSUB and other advanced feature so you can simply type "V64" and get the special formatting of the 6 & 4 automatically. The Campania font also works in Word and presumably in Finale etc. See https://github.com/MarcSabatella/Campania.

Your font has a number of other issues that will prevent it from working with MuseScore or other standards-compliant notation programs, though. As I said, using the flat sign in place of the letter "b" means people won't be able to use lower case "b" in a chord symbol, which makes it not useful for musicians in many countries that rely on this. Also, you are similarly using special glyphs for other letters, like "add" for "a", or a stacked flat & sharp for "j", meaning users can't use abbreviations like "Cmaj7" because it will come out as "Cmaddb#7", etc. Again, this also will be a problem in Word, etc. Maybe this isn't important for you, but it probably would be for others you share the font with, if that is your eventual goal.

So, instead of replacing normal letters with these special glyphs, better to place them somewhere else, maybe in place of characters less likely to actually be used. You can use GSUB rules to automatically make the substitutions conditionally based on context, but it would be pretty complicated to get right (this is the approach I used in Campania, BTW). Instead, MsueScore also allows you to define a custom chord description XML file to do these substitutions, but it would work only in MuseScore.

In reply to by Marc Sabatella

From today I will no longer insist on the source of Cipras. I thought it might be something simpler but it isn't. My idea was to make a font that included symbols in the form most used here in Brazil. My focus was on Brazil. I didn't care what the rest of the world would think. Here is my dropout, at least for now.

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