From e936503665f696a7733d9ecf37de2286ec72fc61 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Wed, 25 Oct 2017 18:52:06 +0000 Subject: Properly close out the top-level Font object, the end-of-page 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 on misc@. --- term_ps.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/term_ps.c b/term_ps.c index f66a8cbd..d6f0c391 100644 --- a/term_ps.c +++ b/term_ps.c @@ -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"); } } -- cgit