Browse Source

Fixes corrupted by Aspose fonts.

Yury Delendik 11 years ago
parent
commit
7dbd088728
  1. 6
      src/core/fonts.js

6
src/core/fonts.js

@ -3387,6 +3387,12 @@ var Font = (function FontClosure() { @@ -3387,6 +3387,12 @@ var Font = (function FontClosure() {
itemEncode(locaData, 0, writeOffset);
for (var i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) {
var endOffset = itemDecode(locaData, j);
if (endOffset > oldGlyfDataLength &&
((oldGlyfDataLength + 3) & ~3) === endOffset) {
// Aspose breaks fonts by aligning the glyphs to the qword, but not
// the glyf table size, which makes last glyph out of range.
endOffset = oldGlyfDataLength;
}
if (endOffset > oldGlyfDataLength) {
// glyph end offset points outside glyf data, rejecting the glyph
itemEncode(locaData, j, writeOffset);

Loading…
Cancel
Save