While we now have mandoc for handling man pages, we currently still need groff in the tree to handle miscellaneous docs that are not man pages.

This is itself an inadequate solution as the groff we have does not support PDF output (which in this day and age is highly desirable) ... and while newer groff does support PDF output it does so via a Perl script. Also, importing a newer groff is problematic for assorted other reasons.

We need a way to typeset miscellaneous articles that we can import into base and that ideally is BSD licensed. (And that can produce PDFs.) Currently it looks like there are three decent ways forward:

These are all difficult and a lot of work, and in the case of new syntax are bound to cause a lot of shouting and stamping. Also, many of the miscellaneous documents use various roff preprocessors and it isn't clear how much of this mandoc can handle.

None of these options is particularly appealing.

There are also some less decent ways forward:

These options are even less appealing.

Maybe someone can think of a better idea. There are lots of choices if we give up on typeset output, but that doesn't seem like a good plan either.

Halibut might be worth including in the mix of options to consider. The source tarball is 919K, it's written in portable ANSI C (apart from requiring at least a 32-bit platform), it has no dependencies, and the license is MIT. It can directly generate plain ASCII text, HTML, PDF, PostScript, Unix man pages (i.e. nroff input to work with the -mandoc macro package), and Unix info.
Comment by J. Lewis Wednesday evening, February 4th, 2015
Add a comment