diff options
Diffstat (limited to 'Lib/fontTools/ttLib/tables/L_T_S_H_.py')
-rw-r--r-- | Lib/fontTools/ttLib/tables/L_T_S_H_.py | 70 |
1 files changed, 35 insertions, 35 deletions
diff --git a/Lib/fontTools/ttLib/tables/L_T_S_H_.py b/Lib/fontTools/ttLib/tables/L_T_S_H_.py index 94c2c22a..e0ab0d02 100644 --- a/Lib/fontTools/ttLib/tables/L_T_S_H_.py +++ b/Lib/fontTools/ttLib/tables/L_T_S_H_.py @@ -7,42 +7,42 @@ import array # XXX gets through. They're looking into it, I hope to raise the standards # XXX back to normal eventually. -class table_L_T_S_H_(DefaultTable.DefaultTable): - def decompile(self, data, ttFont): - version, numGlyphs = struct.unpack(">HH", data[:4]) - data = data[4:] - assert version == 0, "unknown version: %s" % version - assert (len(data) % numGlyphs) < 4, "numGlyphs doesn't match data length" - # ouch: the assertion is not true in Chicago! - #assert numGlyphs == ttFont['maxp'].numGlyphs - yPels = array.array("B") - yPels.frombytes(data) - self.yPels = {} - for i in range(numGlyphs): - self.yPels[ttFont.getGlyphName(i)] = yPels[i] +class table_L_T_S_H_(DefaultTable.DefaultTable): + def decompile(self, data, ttFont): + version, numGlyphs = struct.unpack(">HH", data[:4]) + data = data[4:] + assert version == 0, "unknown version: %s" % version + assert (len(data) % numGlyphs) < 4, "numGlyphs doesn't match data length" + # ouch: the assertion is not true in Chicago! + # assert numGlyphs == ttFont['maxp'].numGlyphs + yPels = array.array("B") + yPels.frombytes(data) + self.yPels = {} + for i in range(numGlyphs): + self.yPels[ttFont.getGlyphName(i)] = yPels[i] - def compile(self, ttFont): - version = 0 - names = list(self.yPels.keys()) - numGlyphs = len(names) - yPels = [0] * numGlyphs - # ouch: the assertion is not true in Chicago! - #assert len(self.yPels) == ttFont['maxp'].numGlyphs == numGlyphs - for name in names: - yPels[ttFont.getGlyphID(name)] = self.yPels[name] - yPels = array.array("B", yPels) - return struct.pack(">HH", version, numGlyphs) + yPels.tobytes() + def compile(self, ttFont): + version = 0 + names = list(self.yPels.keys()) + numGlyphs = len(names) + yPels = [0] * numGlyphs + # ouch: the assertion is not true in Chicago! + # assert len(self.yPels) == ttFont['maxp'].numGlyphs == numGlyphs + for name in names: + yPels[ttFont.getGlyphID(name)] = self.yPels[name] + yPels = array.array("B", yPels) + return struct.pack(">HH", version, numGlyphs) + yPels.tobytes() - def toXML(self, writer, ttFont): - names = sorted(self.yPels.keys()) - for name in names: - writer.simpletag("yPel", name=name, value=self.yPels[name]) - writer.newline() + def toXML(self, writer, ttFont): + names = sorted(self.yPels.keys()) + for name in names: + writer.simpletag("yPel", name=name, value=self.yPels[name]) + writer.newline() - def fromXML(self, name, attrs, content, ttFont): - if not hasattr(self, "yPels"): - self.yPels = {} - if name != "yPel": - return # ignore unknown tags - self.yPels[attrs["name"]] = safeEval(attrs["value"]) + def fromXML(self, name, attrs, content, ttFont): + if not hasattr(self, "yPels"): + self.yPels = {} + if name != "yPel": + return # ignore unknown tags + self.yPels[attrs["name"]] = safeEval(attrs["value"]) |