Bug 102880 - Missing chars in rendered PDF
Summary: Missing chars in rendered PDF
Status: RESOLVED FIXED
Alias: None
Product: poppler
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: poppler-bugs
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-19 15:02 UTC by Thomas Freitag
Modified: 2017-12-28 20:27 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
PDF which shows the problem (604.86 KB, application/pdf)
2017-09-19 15:02 UTC, Thomas Freitag
Details
FoFiTrueType::readPostTable() from xpdf 4.00 (1.91 KB, patch)
2017-09-19 15:04 UTC, Thomas Freitag
Details | Splinter Review
attachment-15188-0.html (7.74 KB, text/html)
2017-12-28 20:27 UTC, Thomas Freitag
Details

Description Thomas Freitag 2017-09-19 15:02:36 UTC
Created attachment 134339 [details]
PDF which shows the problem

When rendering the attached PDF with actual poppler some chars are not shown. Looking into it I figured out that the included truetype font has no cmap table and try the TrueType 'post' table to handle any unmapped characters is not working correctly because in FoFiTrueType::readPostTable() some chars were skipped.

With xpdf 4.00 the PDF is shown correctly.

Comparing poppler code of FoFiTrueType::readPostTable() with the xpdf code 4.00 I encountered that this bug was probably introduced with a patch I uploaded for bug 84270.

But reverting FoFiTrueType::readPostTable() from poppler to the xpdf 4.00 code doesn't only renders this PDF correctly, it renders also the PDF of bug 84270 correctly.

And since the xpdf 4.00 code is cleaner I would prefer to take over this code again!
Comment 1 Thomas Freitag 2017-09-19 15:04:28 UTC
Created attachment 134340 [details] [review]
FoFiTrueType::readPostTable() from xpdf 4.00

This patch reverts FoFiTrueType::readPostTable() to the code of xpdf 4.00
Comment 2 Albert Astals Cid 2017-09-24 22:24:31 UTC
Weird, it's unrelated but this seems to cause a regression in the pdf attached in https://bugs.freedesktop.org/show_bug.cgi?id=43279

I'll try to figure out what's going on, if you have time to have a look it'll also be appreciated.
Comment 3 Thomas Freitag 2017-09-28 07:55:40 UTC
(In reply to Albert Astals Cid from comment #2)
> Weird, it's unrelated but this seems to cause a regression in the pdf
> attached in https://bugs.freedesktop.org/show_bug.cgi?id=43279
> 
> I'll try to figure out what's going on, if you have time to have a look
> it'll also be appreciated.

I can't really figure out what You mean when you tell that the patch causes a regression with https://bugs.freedesktop.org/attachment.cgi?id=53887:
With and without the patch I get with pdftoppm a 
Bogus memory allocation size
and no output file is created.

xpdf-qt 4.00 renders nothing and gives tons of 
Syntax Error: End of file inside array

mupdf renders nothing and gives tons of
error: cannot parse array
and then
mupdf: warning: Errors found on page

gs breaks with
Page 1
   **** Error reading a content stream. The page may be incomplete.
Comment 4 Thomas Freitag 2017-09-28 09:42:30 UTC
I reopened bug 43279 and add a clean patch to it so that poppler behaves like xpdf 4.00.
The reason for the problem in the poppler code is that the lines

  if (unlikely(recursion >= recursionLimit)) {
    return Object(objError);
  }

forces an endless while loop!
Comment 5 Albert Astals Cid 2017-12-28 20:16:02 UTC
Pushed
Comment 6 Thomas Freitag 2017-12-28 20:27:03 UTC
Created attachment 136428 [details]
attachment-15188-0.html

Guten Tag,
vielen Dank für Ihre Nachricht!
Ich bin bis einschließlich 1.1.2018 nicht im Büro.
Ihre Emails werden in dieser Zeit weder gelesen noch weitergeleitet.
In dringenden Fällen wenden Sie sich bitte an unsere Hotline
Telefon +49 (0) 6074 3104 333
E-Mail support@alfa.de
Nach meiner Rückkehr werde ich Ihre Nachricht umgehend beantworten.
Hello,
Thank you for your message!
Unfortunately, I am out of the office to January 1 2018 inclusive.
During this time, your e-mails will not be read or forwarded.
For urgent matters, please contact our hotline:
phone +49 (0) 6074 3104 333
e-mail support@alfa.de
I will respond to your e-mail immediately on my return.
Mit freundlichen Grüßen / kind regards
Thomas Freitag
Software-Entwicklung
alfa Media Partner GmbH
Niederlassung Kiel
Hopfenstrasse 2e
24114 Kiel
Germany
Phone:  +49 (0) 431  /600478-25
Visit our homepage www.alfamedia.com<http://www.alfa.de/>
Sitz des Unternehmens: Rödermark - AG Offenbach HRB 21171
Geschäftsführer: Jens Emmerich
Diese Nachricht kann vertrauliche Informationen enthalten und ist nur für die namentlich bezeichneten Empfänger bestimmt.
Falls Sie nicht namentlich als Empfänger dieser Mitteilung angeführt sind, sollten Sie diese Mitteilung nicht weiterverbreiten, kopieren oder weiterleiten.
Bitte informieren Sie uns umgehend per E-Mail, falls Sie diese Mitteilung fälschlicherweise erhalten haben und löschen Sie dieses E-Mail endgültig aus Ihrem System.

This message may contain confidential information and is intended only for the individual named.
If you are not the named addressee you should not disseminate, distribute or copy this e-mail.
Please notify the sender immediately by e-mail if you have received this e-mail-message by mistake and delete this e-mail-message from your system.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.