Fix the ranges duplication cleanup features

This commit is contained in:
Vivien Nicolas 2011-07-15 15:41:30 +02:00
parent 10e9694135
commit b8fc365fff

View File

@ -534,13 +534,11 @@ var Font = (function Font() {
// Removes duplicate ranges // Removes duplicate ranges
for (var i = ranges.length - 1; i > 0; i--) { for (var i = ranges.length - 1; i > 0; i--) {
var range = []; var range = ranges[i];
var range1 = ranges[i]; var prevRange = ranges[i - 1];
var range2 = ranges[i - 1]; if (range[0] <= prevRange[1]) {
if (range1[0] == range2[1]) { range[0] = prevRange[0] - 2;
range2[0] = range2[0] - 1; ranges.splice(i - 1, 1);
range2[1] = range1[1];
ranges.splice(i, 1);
} }
} }
@ -850,7 +848,7 @@ var Font = (function Font() {
var unicode = GlyphsUnicode[Encodings["WinAnsiEncoding"][j]]; var unicode = GlyphsUnicode[Encodings["WinAnsiEncoding"][j]];
glyphs.push({ unicode: unicode }); glyphs.push({ unicode: unicode });
} }
cmap.data = createCMapTable(glyphs, true); cmap.data = createCMapTable(glyphs);
} }
} else if ((format == 0 && numRecords == 1) || } else if ((format == 0 && numRecords == 1) ||
(format == 6 && numRecords == 1 && !properties.encoding.empty)) { (format == 6 && numRecords == 1 && !properties.encoding.empty)) {