Add report on the mandoc and roff toolchains, from bapt

This commit is contained in:
Benjamin Kaduk 2015-10-17 21:40:34 +00:00
parent 8959ac032e
commit c7b649a8f7
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=47608

View file

@ -2389,4 +2389,67 @@
</body>
</project>
<project cat='bin'>
<title>mandoc and roff Toolchain</title>
<contact>
<person>
<name>
<given>Baptiste</given>
<common>Daroussin</common>
</name>
<email>bapt@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="https://github.com/n-t-roff/heirloom-doctools">Heirloom
doctools</url>
<url href="http://mdocml.bsd.lv/">mandoc</url>
</links>
<body>
<p><tt>mandoc</tt> is a suite of tools for compiling
<tt>mdoc</tt>, the <tt>roff</tt> macro language of choice for BSD
manual pages.</p>
<p><tt>mandoc</tt> is the default renderer for manpages on
&os; head. This quarter, the apropos(1) utility was switched to
use mandoc's version, which offers a new database format (in
sqlite) bringing more powerful, fine-grained ways to search
manpages.</p>
<p>While mandoc is very good for manpages, we also provide
lots of other documentation in plain <tt>roff</tt> format. The
heirloom toolchain is being studied to replace <tt>groff</tt> in
base. The heirloom nroff toolchain has multiple benefits: it has
very good unicode support, and very good compatibility with
groff.</p>
<p>A great deal of work as been done testing the heirloom
nroff toolchain with all the roff documents in the base system
(including manpages), and upstream has been very proactive in
fixing reported bugs.</p>
<p>The 'soelim(1)' utility has been replaced with a
BSD-licensed version which is good enough to work with all available
roff toolchains (to ease transition). This version
of the soelim(1) utility, originally written solely for &os;, is
now part of the mandoc tool suite.</p>
<p>The col(1) utility has been cleaned up and updated to
recognize both SUSv2-style escape-digit and BSD-style
escape-control-char sequences in the input stream (in coordination
with Ingo Schwarze from OpenBSD)</p>
<p>The checknr(1) utility has been cleaned up and extended to
support modern roff(7) macros (including synchronizing code from NetBSD
and the heirloom docutils version).</p>
<p>Many roff fixes were made to documentation and manpages,
having been discovered while testing the new toolchain.
</p>
</body>
</project>
</report>