Missing certain letters in exported file when trying to generate font
I've tried multiple ways of generating the font -
From Batch, and also from the RoboFont menu, but both export the same way. I am missing a seemingly random selection of glyphs from my font.
I have tested them and cross-checked the unicode characters to make sure they are as expected.
In other windows such as Space Center and Kerning I'm still able to see all characters in the font, so it only happens on export.
Thank you for any tips in the right direction, and also happy to share my UFO file if anyone has a chance to take a look.
this is strange… the glyphs are not included in the font at all? if you open the generated OTF in RoboFont: can you see these glyphs in the Font Overview?
it’s also possible that the glyphs are included in the font, and you just can’t see them when you type. maybe missing unicodes, or the paths are open…
@gferreira Hi thank you for your reply -
When I open the generated font in Robofont, I can see the missing letters but they are all out of order. The only time I can see them in the correct way is in the .ufo file.
This is what the generated font looks like in Fontbook:
But pre-export, when I'm looking at my UFO file I see everything:
If I open the font I just exported it comes back like this:
I tried pressing every key to make sure the unicode was assigned to the correct key. It seems to export like that in OTF, TTF, WOFF...
Not sure what I'm missing here :/
Thanks for your help. ArchaicStandard.ufo
your glyph with name
Ahas a unicode of
00C5which reprents the character 'Å' (capital A ring) and not 'A' (capital A)
so the glyph is in the generated font but not in the correct unicode slot.
@frederik Thank you for that tip! Is there a way to change the unicode value in robofont?
I'm not sure how it is getting a Capital A ring, since using (Shift + A) seems to print the glyph correctly as well within robofont.
If I change that unicode value, that explains A... but what about the rest of the missing letters?
I just pointed out the glyph ‘A’ as example that the unicode is wrong, the rest of your ‘missing’ glyphs are also wrongly encoded.
You can change the unicode in the Inspector panel.
as @frederik said, the problem with your font is that some glyphs have incorrect unicode values.
when you’re creating a new font from scratch, or adding new glyphs to an existing font, RoboFont will add unicodes automatically for standard glyph names.
but unicodes can get messed up if you rename a glyph and keep the old unicode value, for example.
here’s a script to fix the unicodes in your font:
font = CurrentFont() # loop over all glyphs in the font for glyph in font: # store the old unicode in a variable for comparison later oldUnicode = glyph.unicode # sets unicode value automatically for glyph glyph.autoUnicodes() # if old and new unicodes are different from each other: if oldUnicode != glyph.unicode: # paint the glyph cell red glyph.markColor = 1, 0, 0, 0.3 # print old/new unicodes for glyph print(glyph.name, oldUnicode, '✘', glyph.unicode, '✔︎')
a 229 ✘ 97 ✔︎ e 235 ✘ 101 ✔︎ E 203 ✘ 69 ✔︎ O 216 ✘ 79 ✔︎ A 197 ✘ 65 ✔︎ n 241 ✘ 110 ✔︎ c 231 ✘ 99 ✔︎ Y 221 ✘ 89 ✔︎ y 255 ✘ 121 ✔︎ u 252 ✘ 117 ✔︎ C 199 ✘ 67 ✔︎ s 223 ✘ 115 ✔︎ N 209 ✘ 78 ✔︎ U 220 ✘ 85 ✔︎ o 248 ✘ 111 ✔︎ I 207 ✘ 73 ✔︎ i 239 ✘ 105 ✔︎
Thanks a lot! That did the trick.