From e4569c5d22408097c9692b0cd6f663b42c69b67b Mon Sep 17 00:00:00 2001 From: Edoardo Cavazza Date: Wed, 29 Oct 2025 19:50:28 +0100 Subject: [PATCH 1/4] Extract Lang attribute for marked contents --- src/core/evaluator.js | 16 ++++++++++++++++ src/display/api.js | 2 ++ src/display/text_layer.js | 3 +++ test/unit/api_spec.js | 21 +++++++++++++++++++++ test/unit/text_layer_spec.js | 22 ++++++++++++++++++++++ 5 files changed, 64 insertions(+) diff --git a/src/core/evaluator.js b/src/core/evaluator.js index 3e836ce16..e5b96e6f3 100644 --- a/src/core/evaluator.js +++ b/src/core/evaluator.js @@ -2317,9 +2317,19 @@ class PartialEvaluator { return; } // Other marked content types aren't supported yet. + let props = null; + if (args[1] instanceof Dict) { + const lang = args[1].get("Lang"); + if (typeof lang === "string") { + props = Object.create(null); + props.lang = stringToPDFString(lang); + } + } + args = [ args[0].name, args[1] instanceof Dict ? args[1].get("MCID") : null, + props, ]; break; @@ -3505,8 +3515,13 @@ class PartialEvaluator { markedContentData.level++; let mcid = null; + let itemLang = null; if (args[1] instanceof Dict) { mcid = args[1].get("MCID"); + const langString = args[1].get("Lang"); + if (typeof langString === "string") { + itemLang = stringToPDFString(langString); + } } textContent.items.push({ type: "beginMarkedContentProps", @@ -3514,6 +3529,7 @@ class PartialEvaluator { ? `${self.idFactory.getPageObjId()}_mc${mcid}` : null, tag: args[0] instanceof Name ? args[0].name : null, + lang: itemLang, }); } break; diff --git a/src/display/api.js b/src/display/api.js index 149ceb237..bb249baa5 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -1166,6 +1166,8 @@ class PDFDocumentProxy { * 'beginMarkedContentProps', or 'endMarkedContent'. * @property {string} id - The marked content identifier. Only used for type * 'beginMarkedContentProps'. + * @property {string|null} tag - The marked content tag. + * @property {string|null} lang - The lang attribute for the marked content. */ /** diff --git a/src/display/text_layer.js b/src/display/text_layer.js index 724924dc6..401df90a1 100644 --- a/src/display/text_layer.js +++ b/src/display/text_layer.js @@ -293,6 +293,9 @@ class TextLayer { if (item.id) { this.#container.setAttribute("id", `${item.id}`); } + if (item.lang) { + this.#container.setAttribute("lang", item.lang); + } parent.append(this.#container); } else if (item.type === "endMarkedContent") { this.#container = this.#container.parentNode; diff --git a/test/unit/api_spec.js b/test/unit/api_spec.js index a8e0fbc07..04bb55162 100644 --- a/test/unit/api_spec.js +++ b/test/unit/api_spec.js @@ -4488,6 +4488,27 @@ Caron Broadcasting, Inc., an Ohio corporation (“Lessee”).`) await loadingTask.destroy(); }); + it("gets operatorList, with marked content lang", async function () { + const loadingTask = getDocument( + buildGetDocumentParams("marked_content_lang.pdf") + ); + const pdfDoc = await loadingTask.promise; + const pdfPage = await pdfDoc.getPage(1); + + pdfDoc.annotationStorage.setValue("30R", { value: "test" }); + pdfDoc.annotationStorage.setValue("31R", { value: true }); + + const opList = await pdfPage.getOperatorList({ + annotationMode: AnnotationMode.DISABLE, + }); + expect(opList.fnArray[0]).toEqual(OPS.beginMarkedContentProps); + expect(opList.argsArray[0][0]).toEqual("P"); + expect(opList.argsArray[0][2]?.lang).toEqual("en-US"); + expect(opList.fnArray[10]).toEqual(OPS.beginMarkedContentProps); + expect(opList.argsArray[10][0]).toEqual("P"); + expect(opList.argsArray[10][2]?.lang).toEqual("es-ES"); + }); + it("gets operatorList, with page resources containing corrupt /CCITTFaxDecode data", async function () { const loadingTask = getDocument( buildGetDocumentParams("poppler-90-0-fuzzed.pdf") diff --git a/test/unit/text_layer_spec.js b/test/unit/text_layer_spec.js index 644e74245..cbbc2320f 100644 --- a/test/unit/text_layer_spec.js +++ b/test/unit/text_layer_spec.js @@ -250,4 +250,26 @@ describe("textLayer", function () { await loadingTask.destroy(); }); + + it("handles lang attribute for marked content", async function () { + const loadingTask = getDocument( + buildGetDocumentParams("marked_content_lang.pdf") + ); + const pdfDocument = await loadingTask.promise; + const page = await pdfDocument.getPage(1); + + const container = document.createElement("div"); + const textLayer = new TextLayer({ + textContentSource: page.streamTextContent({ + includeMarkedContent: true, + }), + container, + viewport: page.getViewport({ scale: 1 }), + }); + await textLayer.render(); + + const span = container.querySelector("#p17R_mc1"); + expect(span.getAttribute("lang")).toEqual("es-ES"); + expect(span.textContent).toEqual("Esto es español"); + }); }); From 9b058bfa8021b039bbf8e19d8f02951e3a549adb Mon Sep 17 00:00:00 2001 From: Edoardo Cavazza Date: Thu, 30 Oct 2025 13:02:05 +0100 Subject: [PATCH 2/4] Push marked_content_lang.pdf --- test/pdfs/.gitignore | 1 + test/pdfs/marked_content_lang.pdf | Bin 0 -> 51622 bytes 2 files changed, 1 insertion(+) create mode 100644 test/pdfs/marked_content_lang.pdf diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 75b11be7d..ab63991a2 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -752,3 +752,4 @@ !bug1937438_af_from_latex.pdf !bug1937438_from_word.pdf !bug1937438_mml_from_latex.pdf +!marked_content_lang.pdf \ No newline at end of file diff --git a/test/pdfs/marked_content_lang.pdf b/test/pdfs/marked_content_lang.pdf new file mode 100644 index 0000000000000000000000000000000000000000..606eef10afef40b988fe30fe464cb92768153ad3 GIT binary patch literal 51622 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 z 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ⅈ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 MVly+#X~<*$Khcq;)Bpeg literal 0 HcmV?d00001 From afcf507d0265e84fefc055f02b3db3dfcf055e18 Mon Sep 17 00:00:00 2001 From: Edoardo Cavazza Date: Thu, 30 Oct 2025 14:02:26 +0100 Subject: [PATCH 3/4] Fix test with NodeJS check --- test/unit/text_layer_spec.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/unit/text_layer_spec.js b/test/unit/text_layer_spec.js index cbbc2320f..9aade2852 100644 --- a/test/unit/text_layer_spec.js +++ b/test/unit/text_layer_spec.js @@ -252,6 +252,9 @@ describe("textLayer", function () { }); it("handles lang attribute for marked content", async function () { + if (isNodeJS) { + pending("document.createElement is not supported in Node.js."); + } const loadingTask = getDocument( buildGetDocumentParams("marked_content_lang.pdf") ); From edc896c35f6ef5ab06c9b3142393438dde927d9b Mon Sep 17 00:00:00 2001 From: Edoardo Cavazza Date: Wed, 5 Nov 2025 09:38:15 +0100 Subject: [PATCH 4/4] Remove useless access to annotation storage in test --- test/unit/api_spec.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/test/unit/api_spec.js b/test/unit/api_spec.js index 04bb55162..b052ac732 100644 --- a/test/unit/api_spec.js +++ b/test/unit/api_spec.js @@ -4494,10 +4494,6 @@ Caron Broadcasting, Inc., an Ohio corporation (“Lessee”).`) ); const pdfDoc = await loadingTask.promise; const pdfPage = await pdfDoc.getPage(1); - - pdfDoc.annotationStorage.setValue("30R", { value: "test" }); - pdfDoc.annotationStorage.setValue("31R", { value: true }); - const opList = await pdfPage.getOperatorList({ annotationMode: AnnotationMode.DISABLE, });