From e7ce4e3faa7e687869ebb0285fae6de96f5b896d Mon Sep 17 00:00:00 2001 From: "Jorj X. McKie" Date: Mon, 7 Jul 2025 09:11:55 -0400 Subject: [PATCH] Test 4503 Adding test script and test file. --- tests/resources/test-4503.pdf | Bin 0 -> 50727 bytes tests/test_4503.py | 38 ++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 tests/resources/test-4503.pdf create mode 100644 tests/test_4503.py diff --git a/tests/resources/test-4503.pdf b/tests/resources/test-4503.pdf new file mode 100644 index 0000000000000000000000000000000000000000..307762ed7a52320e52c9098789346f8f3a9abd1a GIT binary patch literal 50727 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 -NXeAwq~ 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 literal 0 HcmV?d00001 diff --git a/tests/test_4503.py b/tests/test_4503.py new file mode 100644 index 000000000..fb1b449d0 --- /dev/null +++ b/tests/test_4503.py @@ -0,0 +1,38 @@ +""" +Test for issue #4503 in pymupdf: +Correct recognition of strikeout and underline styles in text spans. +""" + +import os +import pymupdf +from pymupdf import mupdf + +STRIKEOUT = mupdf.FZ_STEXT_STRIKEOUT +UNDERLINE = mupdf.FZ_STEXT_UNDERLINE + + +def test_4503(): + """ + Check that the text span with the specified text has the correct styling: + strikeout, but no underline. + Previously, the text was broken in multiple spans with span breaks at + every space. and some parts were not detected as strikeout at all. + """ + scriptdir = os.path.dirname(os.path.abspath(__file__)) + text = "the right to request the state to review and, if appropriate," + filename = os.path.join(scriptdir, "resources", "test-4503.pdf") + doc = pymupdf.open(filename) + page = doc[0] + flags = pymupdf.TEXT_ACCURATE_BBOXES | pymupdf.TEXT_COLLECT_STYLES + spans = [ + s + for b in page.get_text("dict", flags=flags)["blocks"] + for l in b["lines"] + for s in l["spans"] + if s["text"] == text + ] + assert spans, "No spans found with the specified text" + span = spans[0] + + assert span["char_flags"] & STRIKEOUT + assert not span["char_flags"] & UNDERLINE