Merge pull request #16033 from calixteman/bug1640217

Ignore position of combining diacritics when getting text (bug 1640217)
This commit is contained in:
calixteman 2023-02-09 18:23:59 +01:00 committed by GitHub
commit 972744a68f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 39 additions and 1 deletions

View File

@ -2821,7 +2821,7 @@ class PartialEvaluator {
continue;
}
if (!compareWithLastPosition()) {
if (!category.isZeroWidthDiacritic && !compareWithLastPosition()) {
// The glyph is not in page so just skip it.
continue;
}

View File

@ -780,4 +780,42 @@ describe("pdf_find_controller", function () {
},
});
});
it("performs a search in a text containing combining diacritics", async function () {
if (isNodeJS) {
pending("Linked test-cases are not supported in Node.js.");
}
const { eventBus, pdfFindController } = await initPdfFindController(
"issue12909.pdf"
);
await testSearch({
eventBus,
pdfFindController,
state: {
query: "הספר",
matchDiacritics: true,
},
matchesPerPage: [0, 0, 0, 0, 0, 0, 0, 0, 1],
selectedMatch: {
pageIndex: 8,
matchIndex: 0,
},
});
await testSearch({
eventBus,
pdfFindController,
state: {
query: "הספר",
matchDiacritics: false,
},
matchesPerPage: [0, 1, 0, 0, 0, 0, 0, 0, 1],
selectedMatch: {
pageIndex: 8,
matchIndex: 0,
},
});
});
});