From 850e4df74b006d481d5b81b31a47a9bf39204980 Mon Sep 17 00:00:00 2001 From: Rasmus Andersson Date: Sun, 26 May 2019 17:08:05 -0700 Subject: tooling: fixes a bug in gen-metrics-and-svgs.py where the very first glyph would not get recognized in the kerning lookup table, causing no kerning information to appear on the website --- misc/tools/gen-metrics-and-svgs.py | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) (limited to 'misc/tools') diff --git a/misc/tools/gen-metrics-and-svgs.py b/misc/tools/gen-metrics-and-svgs.py index 34d5d3458..4b6ff22a2 100755 --- a/misc/tools/gen-metrics-and-svgs.py +++ b/misc/tools/gen-metrics-and-svgs.py @@ -191,7 +191,7 @@ def genKerningInfo(ufo, glyphnames, nameToIdMap): for rname in rightnames: lnameId = nameToIdMap.get(lname) rnameId = nameToIdMap.get(rname) - if lnameId and rnameId: + if lnameId is not None and rnameId is not None: pairs.append([lnameId, rnameId, v]) # print('pairs: %r' % pairs) @@ -247,6 +247,22 @@ ufopath = args.ufopath.rstrip('/') ufo = Font(ufopath) effectiveAscender = max(ufo.info.ascender, ufo.info.unitsPerEm) + +deleteNames.add('.notdef') +deleteNames.add('.null') + +glyphnames = args.glyphs if len(args.glyphs) else ufo.keys() +glyphnameSet = set(glyphnames) + +glyphnames = [gn for gn in glyphnames if gn not in deleteNames] +glyphnames.sort() + +nameToIdMap, idToNameMap = genGlyphIDs(glyphnames) + +print('generating kerning pair data') +kerning = genKerningInfo(ufo, glyphnames, nameToIdMap) + + print('preprocessing glyphs') filters = [ DecomposeComponentsFilter(), @@ -261,16 +277,6 @@ print('generating SVGs and metrics data') # print('\n'.join(ufo.keys())) # sys.exit(0) -deleteNames.add('.notdef') -deleteNames.add('.null') - -glyphnames = args.glyphs if len(args.glyphs) else ufo.keys() -glyphnameSet = set(glyphnames) - -glyphnames = [gn for gn in glyphnames if gn not in deleteNames] -glyphnames.sort() - -nameToIdMap, idToNameMap = genGlyphIDs(glyphnames) glyphMetrics = {} @@ -307,7 +313,6 @@ if startPos == -1 or endPos == -1: print(msg % relfilename, file=sys.stderr) sys.exit(1) -kerning = genKerningInfo(ufo, glyphnames, nameToIdMap) metaJson = '{\n' metaJson += '"nameids":' + fmtJsonDict(idToNameMap) + ',\n' metaJson += '"metrics":' + fmtJsonDict(glyphMetrics) + ',\n' -- cgit v1.2.3