[NTG-pdftex] 1.40.0-alpha-20051205

Hartmut Henkel hartmut_henkel at gmx.de
Mon Dec 5 20:28:46 CET 2005


On Mon, 5 Dec 2005, Martin Schröder wrote:

> http://sarovar.org/download.php/846/pdftex-1.40.0-alpha-20051205.tar.bz2
>
> I've tried to intergrate as many patches as possible:
>   - 386 grow obj_tab and dest_names arrays dynamically

this 386 is not yet included, there were two conflicting patches. I will
integrate it into a fresh 453 patch.

> It's roughly tested: The manual still compiles.

As Pawe/l found, compiling samplepdf.tex leads to acroread and gs
crashes.

Reason 1: the first dictionary was written before the PDF-1.5 string.
Compare to pdf_begin_obj:


procedure pdf_begin_dict(i: integer; pdf_os: boolean); {begin a PDF
dictionary object}
begin
    check_pdfminorversion;       {<--- this line was missing}
    pdf_os_prepare_obj(i, pdf_os);

This will be repaired in the next patch.

Now comes the interesting part: The reason 2 why Acroread and gs still
crash (but not xpdf :-) ist this harmless looking object, 4 0 obj:

Hello

created by

\pdfobj{Hello}
\pdfrefobj \pdflastobj

This "object" is self-standing, not referenced from anywhere. This seems
to be completely legal in PDF-1.4. But when Acroread or gs find it
within an object stream, and everything really looks ok AFAICT, both
just choke. It works ok, when i simply write \pdfobj{(Hello)} instead of
\pdfobj{Hello}. And no hint in the PDF Reference. My guess is that when
an object stream is used, certain types are given to an object, e. g.
<<...>> or [...] or (...) which all means something, but a simple Hello
gives problems.

Anybody any idea about this? What do with such a solitary Hello?

Regards, Hartmut


More information about the ntg-pdftex mailing list