Merge pull request #1705 from silnrsi/bugfix2

Fix Sill table output to pass OTS
This commit is contained in:
Just van Rossum 2019-09-05 18:50:27 +02:00 committed by GitHub
commit cc096ccef0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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