diff --git a/src/canvas.js b/src/canvas.js index 32c171216..058b57b7e 100644 --- a/src/canvas.js +++ b/src/canvas.js @@ -157,6 +157,7 @@ var CanvasExtraState = (function CanvasExtraStateClosure() { this.wordSpacing = 0; this.textHScale = 1; this.textRenderingMode = TextRenderingMode.FILL; + this.textRise = 0; // Color spaces this.fillColorSpace = new DeviceGrayCS(); this.fillColorSpaceObj = null; @@ -601,7 +602,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { this.current.textRenderingMode = mode; }, setTextRise: function CanvasGraphics_setTextRise(rise) { - TODO('text rise: ' + rise); + this.current.textRise = rise; }, moveText: function CanvasGraphics_moveText(x, y) { this.current.x = this.current.lineX += x; @@ -628,7 +629,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() { ctx.transform.apply(ctx, current.textMatrix); ctx.scale(1, -1); - ctx.translate(current.x, -1 * current.y); + ctx.translate(current.x, -current.y - current.textRise); ctx.transform.apply(ctx, fontMatrix); ctx.scale(textHScale, 1); }, diff --git a/src/evaluator.js b/src/evaluator.js index 059ff113f..fe369db27 100644 --- a/src/evaluator.js +++ b/src/evaluator.js @@ -765,7 +765,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { if (widths) { var start = 0, end = 0; for (var i = 0, ii = widths.length; i < ii; i++) { - var code = widths[i]; + var code = xref.fetchIfRef(widths[i]); if (isArray(code)) { for (var j = 0, jj = code.length; j < jj; j++) glyphsWidths[start++] = code[j]; diff --git a/test/pdfs/issue1001.pdf.link b/test/pdfs/issue1001.pdf.link deleted file mode 100644 index 24e1bebc2..000000000 --- a/test/pdfs/issue1001.pdf.link +++ /dev/null @@ -1 +0,0 @@ -http://www.myhillsapartment.com/island_club/floorplans/images/links/Island_IC_brochure.pdf diff --git a/test/pdfs/lista_preliminar.pdf.link b/test/pdfs/lista_preliminar.pdf.link deleted file mode 100644 index 54102b3b1..000000000 --- a/test/pdfs/lista_preliminar.pdf.link +++ /dev/null @@ -1 +0,0 @@ -http://www.lfg.com.br/concursodebolsas/lista_preliminar_classificao.pdf diff --git a/test/pdfs/wdsg_fitc.pdf.link b/test/pdfs/wdsg_fitc.pdf.link index 77d3b590d..bd22b86ba 100644 --- a/test/pdfs/wdsg_fitc.pdf.link +++ b/test/pdfs/wdsg_fitc.pdf.link @@ -1 +1 @@ -http://www.airgid.com/book/wdsg_fitc.pdf +http://www.airgid.com/wp-content/uploads/2012/06/wdsg_fitc.pdf diff --git a/test/test_manifest.json b/test/test_manifest.json index 1b372e906..0a22160b9 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -334,14 +334,6 @@ "skipPages": [1], "type": "eq" }, - { "id": "lista_preliminar", - "file": "pdfs/lista_preliminar.pdf", - "md5": "4eff251319eeb660ba8a7a5cfac7787d", - "rounds": 1, - "link": true, - "pageLimit": 3, - "type": "eq" - }, { "id": "issue919", "file": "pdfs/issue919.pdf", "md5": "3a1716a512aca4d7a8d6106bd4885d14", @@ -356,13 +348,6 @@ "rounds": 1, "type": "eq" }, - { "id": "issue1001", - "file": "pdfs/issue1001.pdf", - "md5": "0f1496e80a82a923e91d9e74c55ad94e", - "rounds": 1, - "link": true, - "type": "eq" - }, { "id": "issue1586", "file": "pdfs/pdfjsbad1586.pdf", "md5": "793d0870f0b0c613799b0677d64daca4", @@ -421,7 +406,7 @@ "file": "pdfs/issue1096.pdf", "md5": "7f75d2b4b93c78d401ff39e8c1b00612", "rounds": 1, - "pageLimit": 10, + "pageLimit": 9, "link": true, "type": "eq" },