diff options
author | 2010-07-25 11:44:31 +0000 | |
---|---|---|
committer | 2010-07-25 11:44:31 +0000 | |
commit | 0236a2d85af70886c7725a1f28a04ad4216a5d4d (patch) | |
tree | a1a4136aa89d8b5016190592a94ff6b4ff86ecc2 /main.c | |
parent | 0e2017eae6791396ef69390438420f7e18dda0e0 (diff) | |
download | mandoc-0236a2d85af70886c7725a1f28a04ad4216a5d4d.tar.gz mandoc-0236a2d85af70886c7725a1f28a04ad4216a5d4d.tar.zst mandoc-0236a2d85af70886c7725a1f28a04ad4216a5d4d.zip |
Initial PDF shim over PS. This produces working PDF output with -Tpdf.
It's currently missing the xref table, so you'll get a warning in most
PDF viewers). It also produces lots of redundant output, which will go
away once I get a better handle on the PDF spec. The code doesn't
really touch any existing functionality; it's a bunch of conditionals
atop the -Tps (term_ps.c) implementation. I'm checking it in now to
have it exist and be auditable. It needs clean-up, polish, and general
care (and xref!).
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 15 |
1 files changed, 12 insertions, 3 deletions
@@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.99 2010/07/20 14:56:42 kristaps Exp $ */ +/* $Id: main.c,v 1.100 2010/07/25 11:44:31 kristaps Exp $ */ /* * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org> @@ -68,7 +68,8 @@ enum outt { OUTT_HTML, OUTT_XHTML, OUTT_LINT, - OUTT_PS + OUTT_PS, + OUTT_PDF }; struct curparse { @@ -630,9 +631,13 @@ fdesc(struct curparse *curp) curp->outdata = ascii_alloc(curp->outopts); curp->outfree = ascii_free; break; + case (OUTT_PDF): + curp->outdata = pdf_alloc(curp->outopts); + curp->outfree = pspdf_free; + break; case (OUTT_PS): curp->outdata = ps_alloc(curp->outopts); - curp->outfree = ps_free; + curp->outfree = pspdf_free; break; default: break; @@ -650,6 +655,8 @@ fdesc(struct curparse *curp) curp->outman = tree_man; curp->outmdoc = tree_mdoc; break; + case (OUTT_PDF): + /* FALLTHROUGH */ case (OUTT_ASCII): /* FALLTHROUGH */ case (OUTT_PS): @@ -784,6 +791,8 @@ toptions(struct curparse *curp, char *arg) curp->outtype = OUTT_XHTML; else if (0 == strcmp(arg, "ps")) curp->outtype = OUTT_PS; + else if (0 == strcmp(arg, "pdf")) + curp->outtype = OUTT_PDF; else { fprintf(stderr, "%s: Bad argument\n", arg); return(0); |