Merge branch 'master' of https://github.com/andreasgal/pdf.js.git into imagecache

This commit is contained in:
notmasteryet 2011-10-06 20:23:30 -05:00
commit ec41fda318
5 changed files with 23 additions and 10 deletions

View File

@ -11,6 +11,7 @@ var kMaxWaitForFontFace = 1000;
// Unicode Private Use Area
var kCmapGlyphOffset = 0xE000;
var kSizeOfGlyphArea = 0x1900;
// PDF Glyph Space Units are one Thousandth of a TextSpace Unit
// except for Type 3 fonts
@ -1217,18 +1218,21 @@ var Font = (function Font() {
}
var encoding = properties.encoding, i;
// offsetting glyphs to avoid problematic unicode ranges
for (i in encoding) {
if (encoding.hasOwnProperty(i)) {
var unicode = encoding[i].unicode;
if (unicode <= 0x1f || (unicode >= 127 && unicode <= 255))
encoding[i].unicode = unicode += kCmapGlyphOffset;
if (unicode <= 0x1f ||
(unicode >= 127 && unicode < kSizeOfGlyphArea))
encoding[i].unicode += kCmapGlyphOffset;
}
}
var glyphs = [];
for (i = 1; i < numGlyphs; i++) {
glyphs.push({
unicode: i <= 0x1f || (i >= 127 && i <= 255) ?
unicode: i <= 0x1f || (i >= 127 && i < kSizeOfGlyphArea) ?
i + kCmapGlyphOffset : i
});
}

8
pdf.js
View File

@ -5605,7 +5605,9 @@ var CanvasGraphics = (function canvasGraphics() {
var bbox = stream.dict.get('BBox');
if (bbox && isArray(bbox) && 4 == bbox.length) {
this.rectangle.apply(this, bbox);
var width = bbox[2] - bbox[0];
var height = bbox[3] - bbox[1];
this.rectangle(bbox[0], bbox[1], width, height);
this.clip();
this.endPath();
}
@ -6360,7 +6362,9 @@ var TilingPattern = (function tilingPattern() {
graphics.transform.apply(graphics, tmpTranslate);
if (bbox && isArray(bbox) && 4 == bbox.length) {
graphics.rectangle.apply(graphics, bbox);
var bboxWidth = bbox[2] - bbox[0];
var bboxHeight = bbox[3] - bbox[1];
graphics.rectangle(bbox[0], bbox[1], bboxWidth, bboxHeight);
graphics.clip();
graphics.endPath();
}

BIN
test/pdfs/ThuluthFeatures.pdf Executable file

Binary file not shown.

View File

@ -435,9 +435,9 @@ def checkEq(task, results, browser, masterMode):
# NB: this follows the format of Mozilla reftest
# output so that we can reuse its reftest-analyzer
# script
print >>eqLog, 'REFTEST TEST-UNEXPECTED-FAIL |', browser +'-'+ taskId +'-page'+ str(page + 1), '| image comparison (==)'
print >>eqLog, 'REFTEST IMAGE 1 (TEST):', snapshot
print >>eqLog, 'REFTEST IMAGE 2 (REFERENCE):', ref
eqLog.write('REFTEST TEST-UNEXPECTED-FAIL | ' + browser +'-'+ taskId +'-page'+ str(page + 1) + ' | image comparison (==)\n')
eqLog.write('REFTEST IMAGE 1 (TEST): ' + snapshot + '\n')
eqLog.write('REFTEST IMAGE 2 (REFERENCE): ' + ref + '\n')
passed = False
State.numEqFailures += 1
@ -457,7 +457,6 @@ def checkEq(task, results, browser, masterMode):
if passed:
print 'TEST-PASS | eq test', task['id'], '| in', browser
def checkFBF(task, results, browser):
round0, round1 = results[0], results[1]
assert len(round0) == len(round1)
@ -543,7 +542,8 @@ def runTests(options, browsers):
teardownBrowsers(browsers)
t2 = time.time()
print "Runtime was", int(t2 - t1), "seconds"
if State.eqLog:
State.eqLog.close();
if options.masterMode:
maybeUpdateRefImages(options, browsers[0])
elif options.reftest and State.numEqFailures > 0:

View File

@ -69,6 +69,11 @@
"rounds": 1,
"type": "load"
},
{ "id": "thuluthfont-pdf",
"file": "pdfs/ThuluthFeatures.pdf",
"rounds": 1,
"type": "eq"
},
{ "id": "wnv_chinese-pdf",
"file": "pdfs/wnv_chinese.pdf",
"link": true,