1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-22 16:18:08 +02:00

Resizes loca table when needed

This commit is contained in:
Yury Delendik 2013-11-02 18:56:48 -05:00
parent 768a86d59d
commit 175341cb0d
4 changed files with 15 additions and 3 deletions

View file

@ -3262,6 +3262,13 @@ var Font = (function FontClosure() {
};
}
var locaData = loca.data;
var locaDataSize = itemSize * (1 + numGlyphs);
// is loca.data too short or long?
if (locaData.length !== locaDataSize) {
locaData = new Uint8Array(locaDataSize);
locaData.set(loca.data.subarray(0, locaDataSize));
loca.data = locaData;
}
// removing the invalid glyphs
var oldGlyfData = glyf.data;
var oldGlyfDataLength = oldGlyfData.length;
@ -3305,9 +3312,7 @@ var Font = (function FontClosure() {
glyf.data.set(newGlyfData.subarray(0, writeOffset));
}
glyf.data.set(newGlyfData.subarray(0, firstEntryLength), writeOffset);
loca.data = new Uint8Array(locaData.length + itemSize);
loca.data.set(locaData);
itemEncode(loca.data, locaData.length,
itemEncode(loca.data, locaData.length - itemSize,
writeOffset + firstEntryLength);
} else {
glyf.data = newGlyfData.subarray(0, writeOffset);