misc/rf-scripts/AdjustWidth.py

This commit is contained in:
Rasmus Andersson 2018-01-13 13:57:57 -08:00
parent c026473d55
commit 310bbf85d8

View file

@ -10,15 +10,16 @@ if __name__ == "__main__":
print "Resizing glyph margins for %r" % font print "Resizing glyph margins for %r" % font
# how much to add or remove from each glyph's margin # how much to add or remove from each glyph's margin
A = -16 A = 32
if font is not None: if font is not None:
errors = 0 # if >0 then changes are discarded
for g in font: for g in font:
# skip glyphs # skip glyphs
if g.name in ('c', 'e', 'o', 'r', 'j'): #if g.name in ('c', 'e', 'o', 'r', 'j'):
continue # continue
if g.width < 2: if g.width < 4:
print '"%s": ["ignore", "zero-width"],' % (g.name) print '"%s": ["ignore", "zero-width"],' % (g.name)
continue continue
@ -26,27 +27,31 @@ if __name__ == "__main__":
print '"%s": ["ignore", "empty"],' % (g.name) print '"%s": ["ignore", "empty"],' % (g.name)
continue continue
if g.width % 16 != 0: if g.width % 4 != 0:
print '"%s": ["ignore", "misaligned"],' % (g.name) print '"%s": ["error", "misaligned"],' % (g.name)
errors += 1
continue continue
if g.leftMargin <= 0 or g.rightMargin <= 0: #if g.leftMargin <= 0 or g.rightMargin <= 0:
print '"%s": ["ignore", "zero-or-negative"],' % (g.name) # print '"%s": ["ignore", "zero-or-negative"],' % (g.name)
continue # continue
leftMargin = int(max(0, g.leftMargin + A)) leftMargin = int(max(0, g.leftMargin + A))
rightMargin = int(max(0, g.rightMargin + A)) rightMargin = int(max(0, g.rightMargin + A))
#print '"%s": ["update", %g, %g],' % (g.name, leftMargin, rightMargin) #print '"%s": ["update", %g, %g],' % (g.name, leftMargin, rightMargin)
if 'interface.spaceadjust' in g.lib: if 'interui.spaceadjust' in g.lib:
g.lib['interface.width-adjustments'].append(A) g.lib['interui.width-adjustments'].append(A)
else: else:
g.lib['interface.width-adjustments'] = [A] g.lib['interui.width-adjustments'] = [A]
# order of assignment is probably important # order of assignment is probably important
g.rightMargin = int(rightMargin) g.rightMargin = int(rightMargin)
g.leftMargin = int(leftMargin) g.leftMargin = int(leftMargin)
font.update() if errors > 0:
print "Discarding changes because there were errors"
else:
font.update()
else: else:
print "No fonts open" print "No fonts open"