From 6cdae5ac4dec2034b9d5f3661df1dc85fc3a0ead Mon Sep 17 00:00:00 2001 From: Calixte Denizet Date: Tue, 4 Jan 2022 21:36:25 +0100 Subject: [PATCH] Use positive dimensions for text chunks in the text layer (issue #14415). --- src/core/evaluator.js | 46 ++++++++++++++++++++++++++------------- test/pdfs/.gitignore | 1 + test/pdfs/issue14415.pdf | Bin 0 -> 53863 bytes test/test_manifest.json | 7 +++++- 4 files changed, 38 insertions(+), 16 deletions(-) create mode 100644 test/pdfs/issue14415.pdf diff --git a/src/core/evaluator.js b/src/core/evaluator.js index 4382b2215..3e0dd8492 100644 --- a/src/core/evaluator.js +++ b/src/core/evaluator.js @@ -2367,8 +2367,8 @@ class PartialEvaluator { return { str, dir: bidiResult.dir, - width: textChunk.totalWidth, - height: textChunk.totalHeight, + width: Math.abs(textChunk.totalWidth), + height: Math.abs(textChunk.totalHeight), transform: textChunk.transform, fontName: textChunk.fontName, hasEOL: textChunk.hasEOL, @@ -2459,7 +2459,11 @@ class PartialEvaluator { if (textState.font.vertical) { const advanceY = (lastPosY - posY) / textContentItem.textAdvanceScale; const advanceX = posX - lastPosX; - if (advanceY < textContentItem.negativeSpaceMax) { + + // When the total height of the current chunk is negative + // then we're writing from bottom to top. + const textOrientation = Math.sign(textContentItem.height); + if (advanceY < textOrientation * textContentItem.negativeSpaceMax) { if ( Math.abs(advanceX) > 0.5 * textContentItem.width /* not the same column */ @@ -2476,15 +2480,21 @@ class PartialEvaluator { appendEOL(); return; } - if (advanceY <= textContentItem.trackingSpaceMin) { + if (advanceY <= textOrientation * textContentItem.trackingSpaceMin) { textContentItem.height += advanceY; - } else if (!addFakeSpaces(advanceY, textContentItem.prevTransform)) { + } else if ( + !addFakeSpaces( + advanceY, + textContentItem.prevTransform, + textOrientation + ) + ) { if (textContentItem.str.length === 0) { textContent.items.push({ str: " ", dir: "ltr", width: 0, - height: advanceY, + height: Math.abs(advanceY), transform: textContentItem.prevTransform, fontName: textContentItem.fontName, hasEOL: false, @@ -2499,7 +2509,11 @@ class PartialEvaluator { const advanceX = (posX - lastPosX) / textContentItem.textAdvanceScale; const advanceY = posY - lastPosY; - if (advanceX < textContentItem.negativeSpaceMax) { + + // When the total width of the current chunk is negative + // then we're writing from right to left. + const textOrientation = Math.sign(textContentItem.width); + if (advanceX < textOrientation * textContentItem.negativeSpaceMax) { if ( Math.abs(advanceY) > 0.5 * textContentItem.height /* not the same line */ @@ -2516,14 +2530,16 @@ class PartialEvaluator { return; } - if (advanceX <= textContentItem.trackingSpaceMin) { + if (advanceX <= textOrientation * textContentItem.trackingSpaceMin) { textContentItem.width += advanceX; - } else if (!addFakeSpaces(advanceX, textContentItem.prevTransform)) { + } else if ( + !addFakeSpaces(advanceX, textContentItem.prevTransform, textOrientation) + ) { if (textContentItem.str.length === 0) { textContent.items.push({ str: " ", dir: "ltr", - width: advanceX, + width: Math.abs(advanceX), height: 0, transform: textContentItem.prevTransform, fontName: textContentItem.fontName, @@ -2652,10 +2668,10 @@ class PartialEvaluator { } } - function addFakeSpaces(width, transf) { + function addFakeSpaces(width, transf, textOrientation) { if ( - textContentItem.spaceInFlowMin <= width && - width <= textContentItem.spaceInFlowMax + textOrientation * textContentItem.spaceInFlowMin <= width && + width <= textOrientation * textContentItem.spaceInFlowMax ) { if (textContentItem.initialized) { textContentItem.str.push(" "); @@ -2677,8 +2693,8 @@ class PartialEvaluator { // TODO: check if using the orientation from last chunk is // better or not. dir: "ltr", - width, - height, + width: Math.abs(width), + height: Math.abs(height), transform: transf || getCurrentTextTransform(), fontName, hasEOL: false, diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index fd13f10da..e9067c31c 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -500,3 +500,4 @@ !poppler-937-0-fuzzed.pdf !PDFBOX-3148-2-fuzzed.pdf !poppler-90-0-fuzzed.pdf +!issue14415.pdf \ No newline at end of file diff --git a/test/pdfs/issue14415.pdf b/test/pdfs/issue14415.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0e12655b439e819279fe33b68e10614e4b81ecbd GIT binary patch literal 53863 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 literal 0 HcmV?d00001 diff --git a/test/test_manifest.json b/test/test_manifest.json index 884c7b666..f95c0eb3a 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -6191,5 +6191,10 @@ "link": true, "rounds": 1, "type": "eq" - } + }, + { "id": "issue14415", + "file": "pdfs/issue14415.pdf", + "md5": "fa306a250a3d37fe0e7a4b3bba51c91e", + "type": "text" + } ]