Tidy up output
This commit is contained in:
parent
eb9eebf972
commit
4400854ff0
@ -278,6 +278,18 @@ def content_string(contents):
|
|||||||
res += element
|
res += element
|
||||||
return res.strip()
|
return res.strip()
|
||||||
|
|
||||||
|
def wrapline(writer, dat, length=80):
|
||||||
|
currline = ""
|
||||||
|
for d in dat:
|
||||||
|
if len(currline) > length:
|
||||||
|
writer.write(currline[:-1])
|
||||||
|
writer.newline()
|
||||||
|
currline = ""
|
||||||
|
currline += d + " "
|
||||||
|
if len(currline):
|
||||||
|
writer.write(currline[:-1])
|
||||||
|
writer.newline()
|
||||||
|
|
||||||
class _Object() :
|
class _Object() :
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -555,7 +567,8 @@ class Classes(object):
|
|||||||
for s,e in zip(oClasses[:self.numLinear], oClasses[1:self.numLinear+1]):
|
for s,e in zip(oClasses[:self.numLinear], oClasses[1:self.numLinear+1]):
|
||||||
self.linear.append(map(ttFont.getGlyphName, struct.unpack((">%dH" % ((e-s)/2)), data[s:e])))
|
self.linear.append(map(ttFont.getGlyphName, struct.unpack((">%dH" % ((e-s)/2)), data[s:e])))
|
||||||
for s,e in zip(oClasses[self.numLinear:self.numClass], oClasses[self.numLinear+1:self.numClass+1]):
|
for s,e in zip(oClasses[self.numLinear:self.numClass], oClasses[self.numLinear+1:self.numClass+1]):
|
||||||
nonLin = dict([map(ttFont.getGlyphName, struct.unpack(">HH", data[x:x+4])) for x in range(s+8, e, 4)])
|
nonLinids = [struct.unpack(">HH", data[x:x+4]) for x in range(s+8, e, 4)]
|
||||||
|
nonLin = dict([(ttFont.getGlyphName(x[0]), x[1]) for x in nonLinids])
|
||||||
self.nonLinear.append(nonLin)
|
self.nonLinear.append(nonLin)
|
||||||
|
|
||||||
def compile(self, ttFont, version=2.0):
|
def compile(self, ttFont, version=2.0):
|
||||||
@ -568,7 +581,7 @@ class Classes(object):
|
|||||||
data += struct.pack((">%dH" % len(l)), *gs)
|
data += struct.pack((">%dH" % len(l)), *gs)
|
||||||
for l in self.nonLinear:
|
for l in self.nonLinear:
|
||||||
oClasses.append(len(data) + offset)
|
oClasses.append(len(data) + offset)
|
||||||
gs = [map(ttFont.getGlyphID, x) for x in l.items()]
|
gs = [(ttFont.getGlyphID(x[0]), x[1]) for x in l.items()]
|
||||||
data += grUtils.bininfo(len(gs))
|
data += grUtils.bininfo(len(gs))
|
||||||
data += "".join([struct.pack(">HH", *x) for x in sorted(gs)])
|
data += "".join([struct.pack(">HH", *x) for x in sorted(gs)])
|
||||||
oClasses.append(len(data) + offset)
|
oClasses.append(len(data) + offset)
|
||||||
@ -586,8 +599,7 @@ class Classes(object):
|
|||||||
for i,l in enumerate(self.linear):
|
for i,l in enumerate(self.linear):
|
||||||
writer.begintag('linear', index=i)
|
writer.begintag('linear', index=i)
|
||||||
writer.newline()
|
writer.newline()
|
||||||
writer.write(" ".join(l))
|
wrapline(writer, l)
|
||||||
writer.newline()
|
|
||||||
writer.endtag('linear')
|
writer.endtag('linear')
|
||||||
writer.newline()
|
writer.newline()
|
||||||
writer.endtag('linearClasses')
|
writer.endtag('linearClasses')
|
||||||
@ -597,8 +609,8 @@ class Classes(object):
|
|||||||
for i, l in enumerate(self.nonLinear):
|
for i, l in enumerate(self.nonLinear):
|
||||||
writer.begintag('nonLinear', index=i + self.numLinear)
|
writer.begintag('nonLinear', index=i + self.numLinear)
|
||||||
writer.newline()
|
writer.newline()
|
||||||
for inp, outp in l.items():
|
for inp, ind in l.items():
|
||||||
writer.simpletag('map', match=inp, result=outp)
|
writer.simpletag('map', glyph=inp, index=ind)
|
||||||
writer.newline()
|
writer.newline()
|
||||||
writer.endtag('nonLinear')
|
writer.endtag('nonLinear')
|
||||||
writer.newline()
|
writer.newline()
|
||||||
@ -625,7 +637,7 @@ class Classes(object):
|
|||||||
if not isinstance(e, tuple): continue
|
if not isinstance(e, tuple): continue
|
||||||
tag, attrs, subsubcontent = e
|
tag, attrs, subsubcontent = e
|
||||||
if tag == 'map':
|
if tag == 'map':
|
||||||
l[attrs['match']] = attrs['result']
|
l[attrs['glyph']] = int(safeEval(attrs['index']))
|
||||||
self.nonLinear.append(l)
|
self.nonLinear.append(l)
|
||||||
|
|
||||||
class Pass(object):
|
class Pass(object):
|
||||||
@ -735,17 +747,7 @@ class Pass(object):
|
|||||||
writesimple('fsminfo', self, writer, *pass_attrs_fsm)
|
writesimple('fsminfo', self, writer, *pass_attrs_fsm)
|
||||||
writer.begintag('colmap')
|
writer.begintag('colmap')
|
||||||
writer.newline()
|
writer.newline()
|
||||||
currline = ""
|
wrapline(writer, ["{}={}".format(*x) for x in sorted(self.colMap.items(), key=lambda x:ttFont.getGlyphID(x[0]))])
|
||||||
for (g, c) in sorted(self.colMap.items(), key=lambda x:ttFont.getGlyphID(x[0])):
|
|
||||||
s = "{}={} ".format(g, c)
|
|
||||||
if len(s) + len(currline) > 80:
|
|
||||||
writer.write(currline)
|
|
||||||
writer.newline()
|
|
||||||
currline = ""
|
|
||||||
currline += s
|
|
||||||
if len(currline):
|
|
||||||
writer.write(currline)
|
|
||||||
writer.newline()
|
|
||||||
writer.endtag('colmap')
|
writer.endtag('colmap')
|
||||||
writer.newline()
|
writer.newline()
|
||||||
writer.begintag('staterulemap')
|
writer.begintag('staterulemap')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user