Fix Sill table output to pass OTS

This commit is contained in:
Martin Hosken 2019-08-23 08:46:23 +07:00
parent 63fb3fb881
commit 52a8ff32d3

View File

@ -43,12 +43,13 @@ class table_S__i_l_l(DefaultTable.DefaultTable):
def compile(self, ttFont):
ldat = b""
fdat = b""
offset = 0
offset = len(self.langs)
for c, inf in sorted(self.langs.items()):
ldat += struct.pack(">4sHH", c.encode('utf8'), len(inf), 8 * (offset + len(self.langs) + 1))
ldat += struct.pack(">4sHH", c.encode('utf8'), len(inf), 8 * offset + 20)
for fid, val in inf:
fdat += struct.pack(">LHH", fid, val, 0)
offset += len(inf)
ldat += struct.pack(">LHH", 0x80808080, 0, 8 * offset + 20)
return sstruct.pack(Sill_hdr, self) + grUtils.bininfo(len(self.langs)) + \
ldat + fdat