Don't consider space as real space when there is an extra spacing (bug 931481)
- it aims to fix https://bugzilla.mozilla.org/show_bug.cgi?id=931481; - real space chars are pushed in the chunk but when there is an extra spacing, the next char position must be compared with the previous one; - for example, an extra spacing can cancel a space so visually there are no space.
This commit is contained in:
parent
3a31b7ef0c
commit
a88ff34eb7
@ -2573,7 +2573,8 @@ class PartialEvaluator {
|
|||||||
(i === 0 ||
|
(i === 0 ||
|
||||||
i + 1 === ii ||
|
i + 1 === ii ||
|
||||||
glyphs[i - 1].unicode === " " ||
|
glyphs[i - 1].unicode === " " ||
|
||||||
glyphs[i + 1].unicode === " ")
|
glyphs[i + 1].unicode === " " ||
|
||||||
|
extraSpacing)
|
||||||
) {
|
) {
|
||||||
// Don't push a " " in the textContentItem
|
// Don't push a " " in the textContentItem
|
||||||
// (except when it's between two non-spaces chars),
|
// (except when it's between two non-spaces chars),
|
||||||
|
1
test/pdfs/bug931481.pdf.link
Normal file
1
test/pdfs/bug931481.pdf.link
Normal file
@ -0,0 +1 @@
|
|||||||
|
https://web.archive.org/web/20141210054406/http://www.stronachinstitut.at/wp-content/uploads/2012/02/Nachbaur_CV5.pdf
|
@ -171,6 +171,13 @@
|
|||||||
"type": "eq",
|
"type": "eq",
|
||||||
"about": "Fonts referenced only by name and not by an object identifier."
|
"about": "Fonts referenced only by name and not by an object identifier."
|
||||||
},
|
},
|
||||||
|
{ "id": "bug931481",
|
||||||
|
"file": "pdfs/bug931481.pdf",
|
||||||
|
"md5": "547de872cbb2ecc653ae83d5be7e5be9",
|
||||||
|
"rounds": 1,
|
||||||
|
"link": true,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
{ "id": "bug911034",
|
{ "id": "bug911034",
|
||||||
"file": "pdfs/bug911034.pdf",
|
"file": "pdfs/bug911034.pdf",
|
||||||
"md5": "54ee432a4e16b26b242fbf549cdad177",
|
"md5": "54ee432a4e16b26b242fbf549cdad177",
|
||||||
|
@ -1760,6 +1760,34 @@ sources, for full support with Dvips.`)
|
|||||||
await loadingTask.destroy();
|
await loadingTask.destroy();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("gets text content, with negative spaces (bug 931481)", async function () {
|
||||||
|
if (isNodeJS) {
|
||||||
|
pending("Linked test-cases are not supported in Node.js.");
|
||||||
|
}
|
||||||
|
|
||||||
|
const loadingTask = getDocument(buildGetDocumentParams("bug931481.pdf"));
|
||||||
|
const pdfDoc = await loadingTask.promise;
|
||||||
|
const pdfPage = await pdfDoc.getPage(1);
|
||||||
|
const { items } = await pdfPage.getTextContent();
|
||||||
|
const text = mergeText(items);
|
||||||
|
|
||||||
|
expect(
|
||||||
|
text.includes(`Kathrin Nachbaur
|
||||||
|
Die promovierte Juristin ist 1979 in Graz geboren und aufgewachsen. Nach
|
||||||
|
erfolgreichem Studienabschluss mit Fokus auf Europarecht absolvierte sie ein
|
||||||
|
Praktikum bei Magna International in Kanada in der Human Resources Abteilung.
|
||||||
|
Anschliessend wurde sie geschult in Human Resources, Arbeitsrecht und
|
||||||
|
Kommunikation, währenddessen sie auch an ihrem Doktorat im Wirtschaftsrecht
|
||||||
|
arbeitete. Seither arbeitete sie bei Magna International als Projekt Manager in der
|
||||||
|
Innovationsabteilung. Seit 2009 ist sie Frank Stronachs Büroleiterin in Österreich und
|
||||||
|
Kanada. Zusätzlich ist sie seit 2012 Vice President, Business Development der
|
||||||
|
Stronach Group und Vizepräsidentin und Institutsleiterin des Stronach Institut für
|
||||||
|
sozialökonomische Gerechtigkeit.`)
|
||||||
|
).toEqual(true);
|
||||||
|
|
||||||
|
await loadingTask.destroy();
|
||||||
|
});
|
||||||
|
|
||||||
it("gets text content, with beginbfrange operator handled correctly (bug 1627427)", async function () {
|
it("gets text content, with beginbfrange operator handled correctly (bug 1627427)", async function () {
|
||||||
const loadingTask = getDocument(
|
const loadingTask = getDocument(
|
||||||
buildGetDocumentParams("bug1627427_reduced.pdf")
|
buildGetDocumentParams("bug1627427_reduced.pdf")
|
||||||
|
Loading…
Reference in New Issue
Block a user