joanca last edited by gferreira
This "Building Accents" code (almost 100% taken from the RFab site) is not working and I can't figure out why. It runs apparently fine but the glyphs are not updated, they keep empty.
Any thought? Am I missing something?
# from robofab.world import CurrentFont from robofab.tools.toolsAll import readGlyphConstructions # from random import randint f = CurrentFont() import string theList = [ 'ecaron', 'acircumflex' ] con = readGlyphConstructions() theList.sort() def accentify(f, preflight=False): print 'start accentification', f.info.fullName slots = con.keys() slots.sort() for k in theList: if k[-3:] in [".sc"]: isSpecial = True tag = k[-3:] name = k[:-3] else: isSpecial = False tag = "" name = k parts = con.get(name, None) if parts is None: print k, "not defined?" continue base = parts accents = parts[1:] f.generateGlyph(k, preflight=preflight) # f[k].mark = 100 + randint(-20, 20) f[k].autoUnicodes() f[k].update() f.update() accentify(f) print 'done'</pre>
[I just prettified your code example]
its idd not working in the current build
this will be working in the next update, this is scheduled soon :)
joanca last edited by
Apart from the refresh of the font Overview, the anchors are ignored when placing the accents. It just appends the components ignoring the anchors placement.
Can you confirm this?
and its maybe better to use
font.compilesince you already know the base glyph and accents
# in your example # replace f.generateGlyph(k, preflight=preflight) by f.compileGlyph(k, baseName=base+tag, accentNames=accents, preflight=preflight)
the font overview doesn't get updated, this will be solved in the next version.....
# glyph.mark takes a tuple of 4 r = 1 g = 0 b = 0 a = 1 glyph.mark = (r, g, b, a)