]> git.cameronkatri.com Git - mandoc.git/commitdiff
Properly close out the top-level Font object, the end-of-page
authorIngo Schwarze <schwarze@openbsd.org>
Wed, 25 Oct 2017 18:52:06 +0000 (18:52 +0000)
committerIngo Schwarze <schwarze@openbsd.org>
Wed, 25 Oct 2017 18:52:06 +0000 (18:52 +0000)
Resource objects, and the Catalog object, fixing three PDF syntax
errors that were present in every PDF file generated with mandoc
since the initial checkin of the formatter in July 2010.
Bug reported by Jan Stary <hans at stare dot cz> on misc@.

term_ps.c

index 9638ae4cb9a398fafe2f51efdb76005e90984030..93b0fc384f3d8d62137cfe65f53713dd3a33d23e 100644 (file)
--- a/term_ps.c
+++ b/term_ps.c
@@ -1,4 +1,4 @@
-/*     $Id: term_ps.c,v 1.85 2017/06/07 17:38:26 schwarze Exp $ */
+/*     $Id: term_ps.c,v 1.86 2017/10/25 18:52:06 schwarze Exp $ */
 /*
  * Copyright (c) 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2014, 2015, 2016, 2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -759,7 +759,7 @@ ps_closepage(struct termp *p)
                ps_printf(p, "/Font <<\n");
                for (i = 0; i < (int)TERMFONT__MAX; i++)
                        ps_printf(p, "/F%d %d 0 R\n", i, 3 + i);
-               ps_printf(p, ">>\n>>\n");
+               ps_printf(p, ">>\n>>\nendobj\n");
 
                /* Page node. */
                pdf_obj(p, base + 3);
@@ -824,7 +824,7 @@ ps_end(struct termp *p)
        ps_printf(p, "<<\n");
        ps_printf(p, "/Type /Catalog\n");
        ps_printf(p, "/Pages 2 0 R\n");
-       ps_printf(p, ">>\n");
+       ps_printf(p, ">>\nendobj\n");
        xref = p->ps->pdfbytes;
        ps_printf(p, "xref\n");
        ps_printf(p, "0 %zu\n", base + 1);
@@ -918,7 +918,7 @@ ps_begin(struct termp *p)
                        ps_printf(p, "/Subtype /Type1\n");
                        ps_printf(p, "/Name /F%d\n", i);
                        ps_printf(p, "/BaseFont /%s\n", fonts[i].name);
-                       ps_printf(p, ">>\n");
+                       ps_printf(p, ">>\nendobj\n");
                }
        }