diff --git a/Lib/fontTools/ttLib/tables/otConverters.py b/Lib/fontTools/ttLib/tables/otConverters.py index d214938bc7..b49c95d9f7 100644 --- a/Lib/fontTools/ttLib/tables/otConverters.py +++ b/Lib/fontTools/ttLib/tables/otConverters.py @@ -1859,7 +1859,7 @@ def getReadArray(reader, offSize): offsets = readArray(count + 1) items = [] lastOffset = offsets.pop(0) - reader.readData(lastOffset) # In case first offset is not 0 + reader.readData(lastOffset - 1) # In case first offset is not 1 for offset in offsets: assert lastOffset <= offset @@ -1880,7 +1880,7 @@ def getReadArray(reader, offSize): def get_read_item(): reader_copy = reader.copy() offset_pos = reader.pos - data_pos = offset_pos + (count + 1) * offSize + data_pos = offset_pos + (count + 1) * offSize - 1 readArray = getReadArray(reader_copy, offSize) def read_item(i): @@ -1922,7 +1922,7 @@ def write(self, writer, font, tableDict, values, repeatIndex=None): ] offsets = [len(item) for item in items] - offsets = [0] + list(accumulate(offsets)) + offsets = list(accumulate(offsets, initial=1)) lastOffset = offsets[-1] offSize = (