summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-10-25 18:52:06 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-10-25 18:52:06 +0000
commite936503665f696a7733d9ecf37de2286ec72fc61 (patch)
tree5031fa19a7900f000fbb81a3185e31545691a2e1
parentb13013d058e969730f26c5e6af2f7429c4864875 (diff)
downloadmandoc-e936503665f696a7733d9ecf37de2286ec72fc61.tar.gz
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 <hans at stare dot cz> on misc@.
-rw-r--r--term_ps.c6
1 files 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");
}
}