Fix SVG doc length calculations
Patch from Doug Felt.
This commit is contained in:
parent
8af5c69ea0
commit
5a7ec608c8
@ -193,11 +193,12 @@ class table_S_V_G_(DefaultTable.DefaultTable):
|
|||||||
curOffset = len(datum) + doc_index_entry_format_0Size*numEntries
|
curOffset = len(datum) + doc_index_entry_format_0Size*numEntries
|
||||||
for doc, startGlyphID, endGlyphID in self.docList:
|
for doc, startGlyphID, endGlyphID in self.docList:
|
||||||
docOffset = curOffset
|
docOffset = curOffset
|
||||||
docLength = len(doc)
|
docBytes = tobytes(doc, encoding="utf-8")
|
||||||
|
docLength = len(docBytes)
|
||||||
curOffset += docLength
|
curOffset += docLength
|
||||||
entry = struct.pack(">HHLL", startGlyphID, endGlyphID, docOffset, docLength)
|
entry = struct.pack(">HHLL", startGlyphID, endGlyphID, docOffset, docLength)
|
||||||
entryList.append(entry)
|
entryList.append(entry)
|
||||||
docList.append(tobytes(doc, encoding="utf-8"))
|
docList.append(docBytes)
|
||||||
entryList.extend(docList)
|
entryList.extend(docList)
|
||||||
svgDocData = bytesjoin(entryList)
|
svgDocData = bytesjoin(entryList)
|
||||||
|
|
||||||
@ -239,11 +240,12 @@ class table_S_V_G_(DefaultTable.DefaultTable):
|
|||||||
curOffset = SVG_format_1Size + doc_index_entry_format_0Size*numEntries
|
curOffset = SVG_format_1Size + doc_index_entry_format_0Size*numEntries
|
||||||
for doc, startGlyphID, endGlyphID in self.docList:
|
for doc, startGlyphID, endGlyphID in self.docList:
|
||||||
docOffset = curOffset
|
docOffset = curOffset
|
||||||
docLength = len(doc)
|
docBytes = tobytes(doc, encoding="utf-8")
|
||||||
|
docLength = len(docBytes)
|
||||||
curOffset += docLength
|
curOffset += docLength
|
||||||
entry = struct.pack(">HHLL", startGlyphID, endGlyphID, docOffset, docLength)
|
entry = struct.pack(">HHLL", startGlyphID, endGlyphID, docOffset, docLength)
|
||||||
dataList.append(entry)
|
dataList.append(entry)
|
||||||
docList.append(tobytes(doc, encoding="utf-8"))
|
docList.append(docBytes)
|
||||||
dataList.extend(docList)
|
dataList.extend(docList)
|
||||||
data = bytesjoin(dataList)
|
data = bytesjoin(dataList)
|
||||||
return data
|
return data
|
||||||
|
Loading…
x
Reference in New Issue
Block a user