Run HTML Tidy

This commit is contained in:
Lassi Kortela 2023-02-14 20:36:57 +02:00
parent b281cf99fa
commit da8060b2db
1 changed files with 349 additions and 280 deletions

View File

@ -1,296 +1,365 @@
<!DOCTYPE html>
<html> <html>
<head> <head>
<title>Unroff</title> <title>Unroff</title>
</head> </head>
<body> <body>
<h1>Unroff</h1> <h1>Unroff</h1><i>Unroff</i> is a Scheme-based, programmable,
<i>Unroff</i> extensible troff translator with a back-end for the Hypertext
is a Scheme-based, programmable, extensible troff translator Markup Language. Unroff is free software and is distributed both
with a back-end for the Hypertext Markup Language.<tt> </tt> as source and as precompiled binaries.
Unroff is free software and is distributed both as source and <p>Unroff was originally written by Oliver Laumann around 1995.
as precompiled binaries. It is now maintained by volunteers at the Scheme
Conservatory.</p>
<p>Unroff was originally written by Oliver Laumann around 1995. It is
now maintained by volunteers at the Scheme Conservatory.
<h2>Contents</h2> <h2>Contents</h2>
<ul> <ul>
<li><a href="#overview">Overview</a> <li>
<li><a href="#troff">Unroff and Troff</a> <a href="#overview">Overview</a>
<li><a href="#scheme">Unroff and Scheme</a> </li>
<li><a href="#hypertext">Unroff and Hypertext</a> <li>
<li><a href="#managing">Managing Hypertext Documents with Troff</a> <a href="#troff">Unroff and Troff</a>
<li><a href="#dist">Source and Binary Distributions</a> </li>
<li><a href="#browse">Browsing Source, Documentation, Examples</a> <li>
<li><a href="#news">What's New?</a> <a href="#scheme">Unroff and Scheme</a>
</li>
<li>
<a href="#hypertext">Unroff and Hypertext</a>
</li>
<li>
<a href="#managing">Managing Hypertext Documents with
Troff</a>
</li>
<li>
<a href="#dist">Source and Binary Distributions</a>
</li>
<li>
<a href="#browse">Browsing Source, Documentation,
Examples</a>
</li>
<li>
<a href="#news">What's New?</a>
</li>
</ul> </ul>
<h2><a name="overview" id="overview">Overview</a></h2>Unroff
<h2><a name=overview>Overview</a></h2> reads and parses UNIX troff documents and translates the embedded
Unroff reads and parses UNIX troff documents and translates the embedded markup into a different format (see <b>Figure 1</b>). Neither the
markup into a different format (see <b>Figure 1</b>).<tt> </tt> actual output format nor any knowledge about particular troff
Neither the actual output format nor any knowledge about particular macro sets (-man, -ms, etc.) are hard-wired into unroff. Instead,
troff macro sets (-man, -ms, etc.) are hard-wired into unroff.<tt> </tt> the translation process is controlled by a set of user-supplied
Instead, the translation process is controlled by a set of procedures written in the <a href=
user-supplied procedures written in the "https://en.wikipedia.org/wiki/Scheme_%28programming_language%29">
<a href="https://en.wikipedia.org/wiki/Scheme_%28programming_language%29"><i>Scheme</i></a> <i>Scheme</i></a> programming language.
programming language. <p>Translation rules for new output formats and troff macro
<p> packages can be added easily by providing a corresponding set of
Translation rules for new output formats and troff macro packages can Scheme procedures (a ``back-end''). Version 1.0 of unroff
be added easily by providing a corresponding set of Scheme procedures includes back-ends for translating documents using the ``man''
(a ``back-end'').<tt> </tt> and ``ms'' macros into the Hypertext Markup Language (HTML)
Version 1.0 of unroff includes back-ends for translating version 2.0. Additional requests facilitate use of arbitrary
documents using the ``man'' and ``ms'' macros into the Hypertext Markup hypertext links in troff documents.</p>
Language (HTML) version 2.0.<tt> </tt>
Additional requests facilitate use of arbitrary hypertext links in
troff documents.
<p>
<hr> <hr>
<img src=fig1.gif alt="[Overview of unroff functionality]"> <img src="fig1.gif" alt="[Overview of unroff functionality]">
<hr> <hr>
<h2><a name="troff" id="troff">Unroff and Troff</a></h2>
<h2><a name=troff>Unroff and Troff</a></h2> <p>In contrast to conventional troff ``converters'' (usually Perl
<p> scripts some of which process nroff output) unroff includes a
In contrast to conventional troff ``converters'' (usually Perl scripts full troff parser and closely mimics the troff processing engine.
some of which process nroff output) unroff includes a full troff parser
and closely mimics the troff processing engine.<tt> </tt>
This enables unroff to handle user-defined macros, strings, and This enables unroff to handle user-defined macros, strings, and
number registers, nested if-else requests, arbitrary fonts and font number registers, nested if-else requests, arbitrary fonts and
positions, low-level formatting requests such as \l, \c, and \h, and font positions, low-level formatting requests such as \l, \c, and
idiosyncrasies such as troff <i>copy mode</i> and the subtle differences \h, and idiosyncrasies such as troff <i>copy mode</i> and the
between request and macro invocations.<tt> </tt> subtle differences between request and macro invocations. Unroff
Unroff has adopted a number of <i>groff</i> extensions, among them long names has adopted a number of <i>groff</i> extensions, among them long
for macros, strings, number registers, and special characters, and the names for macros, strings, number registers, and special
escape sequences \$@ and \$*. characters, and the escape sequences \$@ and \$*.</p>
<h2><a name="scheme" id="scheme">Unroff and Scheme</a></h2>Unroff
<h2><a name=scheme>Unroff and Scheme</a></h2> uses <a href=
Unroff uses "http://www.informatik.uni-bremen.de/~net/elk"><i>Elk</i></a>,
<a href="http://www.informatik.uni-bremen.de/~net/elk"><i>Elk</i></a>,
the Scheme-based Extension Language Kit, to achieve the Scheme-based Extension Language Kit, to achieve
programmability (see <b>Figure 2</b>).<tt> </tt> programmability (see <b>Figure 2</b>). It includes a full Scheme
It includes a full Scheme language implementation language implementation with the usual amenities such as garbage
with the usual amenities such as garbage collection, interactive collection, interactive programming and testing, and dynamic
programming and testing, and dynamic loading.<tt> </tt> loading. To help writing new unroff back-ends, unroff has
To help writing new unroff back-ends, unroff has augmented augmented standard Scheme by a set of new Scheme data types and
standard Scheme by a set of new Scheme data types primitives.
and primitives.
<p>
<hr> <hr>
<img src=fig2.gif alt="[unroff and Elk/Scheme-code relationship]"> <img src="fig2.gif" alt=
"[unroff and Elk/Scheme-code relationship]">
<hr> <hr>
<p> <p>A new troff request and an extension to the `.ig' request
A new troff request and an extension to the `.ig' request allow for allow for Scheme code to be embedded in troff documents; the code
Scheme code to be embedded in troff documents; the code is then is then evaluated on the fly as the documents are processed by
evaluated on the fly as the documents are processed by unroff. unroff.</p>
<p> <p>Unroff may be viewed as a prototype for hybrid applications
Unroff may be viewed as a prototype for hybrid applications that use that use Scheme (in particular Elk) as their extension language.
Scheme (in particular Elk) as their extension language.<tt> </tt> Approximately half of its source consists of portable ANSI C
Approximately half of its source consists of portable ANSI C code, code, and the other half is written in Scheme and can be
and the other half is written in Scheme and can be configured and configured and tailored easily without the need to recompile
tailored easily without the need to recompile unroff.<tt> </tt> unroff. Authors of Elk-based applications are encouraged to look
Authors of Elk-based applications are encouraged to look into the into the source code or reuse parts of it for their own
source code or reuse parts of it for their own projects. projects.</p>
<p> <p>As the time-critical Scheme primitives provided of unroff have
As the time-critical Scheme primitives provided of unroff have been been coded in (efficient) C, its performance comes close to that
coded in (efficient) C, its performance comes close to that of nroff of nroff processing the same troff input.</p>
processing the same troff input. <h2><a name="hypertext" id="hypertext">Unroff and
Hypertext</a></h2>troff documents that were originally written
<h2><a name=hypertext>Unroff and Hypertext</a></h2> without intentions to make them available in the World Wide Web
troff documents that were originally written without intentions to (such as UNIX manual pages) can easily be translated to the
make them available in the World Wide Web (such as UNIX manual pages) Hypertext Markup Language using the predefined HTML back-ends.
can easily be translated to the Hypertext Markup Language using the <p>As unroff closely simulates ordinary troff, even large or
predefined HTML back-ends. complex documents (like technical reports or theses with many
<p> user-defined macros) can be translated to HTML automatically
As unroff closely simulates ordinary troff, even large or complex without having to add any structural cues to the documents.</p>
documents (like technical reports or theses with many user-defined <p>The ``-man'' support has been tested with several hundred
macros) can be translated to HTML automatically without having to vendor- and user-supplied manual pages and has produced good
add any structural cues to the documents. results in all but less than a dozen cases (a few manual pages
<p> were found to make excessive use of low-level troff constructs or
The ``-man'' support has been tested with several hundred vendor- and to include <i>tbl</i> output verbatim).</p>
user-supplied manual pages and has produced good results in all but <h2><a name="managing" id="managing">Managing Hypertext Documents
less than a dozen cases (a few manual pages were found to make excessive with Troff</a></h2>Authors can benefit from unroff not only as a
use of low-level troff constructs or to include <i>tbl</i> output verbatim). converter for existing documents, but also when writing new
documents that must exist both in high-quality paper form and in
<h2><a name=managing>Managing Hypertext Documents with Troff</a></h2> the World Wide Web as hypertext.
Authors can benefit from unroff not only as a converter for existing <p>Rather than writing hypertext documents directly in HTML
documents, but also when writing new documents that must exist both (which is cumbersome for long or complex texts), authors can
in high-quality paper form and in the World Wide Web as hypertext. continue using ordinary troff together with the usual
<p> preprocessors and macro packages. Unroff is then employed to
Rather than writing hypertext documents directly in HTML (which is produce the WWW form, while troff is used in the normal way to
cumbersome for long or complex texts), authors can continue using typeset the same text, producing the printed version (or, using
ordinary troff together with the usual preprocessors and macro nroff, an ASCII version if desired).</p>
packages.<tt> </tt> <p>In this way authors of hypertext documents can take full
Unroff is then employed to produce the WWW form, while troff is used advantage of the usual troff facilities such as user-defined
in the normal way to typeset the same text, producing the printed macros, conditional text, tables, equations, and drawings,
version (or, using nroff, an ASCII version if desired). automatic table of contents generation, footnotes/endnotes,
<p> indexes, etc., none of which are available when composing
In this way authors of hypertext documents can take full advantage of documents directly in plain HTML.</p>
the usual troff facilities such as user-defined macros, conditional text, <p>Two new troff requests for embedding hypertext links in troff
tables, equations, and drawings, automatic table of contents generation, documents are provided by the unroff HTML back-end. Arbitrary
footnotes/endnotes, indexes, etc., none of which are available when forward and backward references using symbolic labels (rather
composing documents directly in plain HTML. than actual file names) among groups of troff source files are
<p> supported (see <b>Figure 3</b>). Another new request and another
Two new troff requests for embedding hypertext links in troff documents extension to `.ig' allow for HTML code to be embedded directly in
are provided by the unroff HTML back-end.<tt> </tt> troff documents. The hypertext capabilities are demonstrated by
Arbitrary forward and backward references using symbolic labels the troff source of the Programmer's Manual that is part of the
(rather than actual file names) among unroff distribution.</p>
groups of troff source files are supported (see <b>Figure 3</b>).<tt> </tt>
Another new request and another extension to `.ig' allow for HTML code
to be embedded directly in troff documents.<tt> </tt>
The hypertext capabilities are demonstrated by the troff source of the
Programmer's Manual that is part of the unroff distribution.
<p>
<hr> <hr>
<img src=fig3.gif alt="[troff document with hypertext links]"> <img src="fig3.gif" alt="[troff document with hypertext links]">
<hr> <hr>
<h2><a name="dist" id="dist">Source and Binary
<h2><a name=dist>Source and Binary Distributions</a></h2> Distributions</a></h2>You need Elk 2.2 or <a href=
You need Elk 2.2 or "http://www.informatik.uni-bremen.de/~net/elk">Elk 3.0</a> and an
<a href="http://www.informatik.uni-bremen.de/~net/elk">Elk 3.0</a> ANSI C compiler to compile and install unroff from the source
and an ANSI C compiler to compile and distribution.
install unroff from the source distribution. <p>If you do not have Elk at your site and do not want to install
<p> it, or if you just wish to have a quick look at unroff, download
If you do not have Elk at your site and do not want the binary distribution for your system. Otherwise, use of the
to install it, or if you just wish to have a quick look at unroff, source distribution is recommended.</p>
download the binary distribution for your system.<tt> </tt> <p>The unroff executable is linked dynamically in the binary
Otherwise, use of the source distribution is recommended. distributions for systems with shared libraries.</p>
<p>
The unroff executable is linked dynamically in the binary distributions
for systems with shared libraries.
<p>
<ul> <ul>
<li><b>Source Distribution</b> (about 80 Kbytes) <li>
<b>Source Distribution</b> (about 80 Kbytes)
<ul> <ul>
<li><a href="https://files.scheme.org/unroff-1.0.tar.gz">unroff-1.0.tar.gz</a> <li>
<a href=
"https://files.scheme.org/unroff-1.0.tar.gz">unroff-1.0.tar.gz</a>
</li>
</ul> </ul>
</li>
</ul> </ul>
<ul> <ul>
<li><b>Binary Distributions</b> (about 200 Kbytes each) <li>
<b>Binary Distributions</b> (about 200 Kbytes each)
<ul> <ul>
<li><a href="https://files.scheme.org/unroff-1.0-alpha-dec-osf3.0.tar.gz"> <li>
<a href=
"https://files.scheme.org/unroff-1.0-alpha-dec-osf3.0.tar.gz">
unroff-1.0-alpha-dec-osf3.0.tar.gz</a> unroff-1.0-alpha-dec-osf3.0.tar.gz</a>
<li><a href="https://files.scheme.org/unroff-1.0-hppa1.1-hp-hpux9.tar.gz"> </li>
<li>
<a href=
"https://files.scheme.org/unroff-1.0-hppa1.1-hp-hpux9.tar.gz">
unroff-1.0-hppa1.1-hp-hpux9.tar.gz</a> unroff-1.0-hppa1.1-hp-hpux9.tar.gz</a>
<li><a href="https://files.scheme.org/unroff-1.0-i486-unknown-linux1.2.8.tar.gz"> </li>
<li>
<a href=
"https://files.scheme.org/unroff-1.0-i486-unknown-linux1.2.8.tar.gz">
unroff-1.0-i486-unknown-linux1.2.8.tar.gz</a> unroff-1.0-i486-unknown-linux1.2.8.tar.gz</a>
<li><a href="https://files.scheme.org/unroff-1.0-m68k-next-ns3.tar.gz"> </li>
<li>
<a href=
"https://files.scheme.org/unroff-1.0-m68k-next-ns3.tar.gz">
unroff-1.0-m68k-next-ns3.tar.gz</a> unroff-1.0-m68k-next-ns3.tar.gz</a>
<li><a href="https://files.scheme.org/unroff-1.0-mips-dec-ultrix4.2.tar.gz"> </li>
<li>
<a href=
"https://files.scheme.org/unroff-1.0-mips-dec-ultrix4.2.tar.gz">
unroff-1.0-mips-dec-ultrix4.2.tar.gz</a> unroff-1.0-mips-dec-ultrix4.2.tar.gz</a>
<li><a href="https://files.scheme.org/unroff-1.0-mips-sgi-irix5.3.tar.gz"> </li>
<li>
<a href=
"https://files.scheme.org/unroff-1.0-mips-sgi-irix5.3.tar.gz">
unroff-1.0-mips-sgi-irix5.2.tar.gz</a> unroff-1.0-mips-sgi-irix5.2.tar.gz</a>
<li><a href="https://files.scheme.org/unroff-1.0-rs6000-ibm-aix3.2.tar.gz"> </li>
<li>
<a href=
"https://files.scheme.org/unroff-1.0-rs6000-ibm-aix3.2.tar.gz">
unroff-1.0-rs6000-ibm-aix3.2.tar.gz</a> unroff-1.0-rs6000-ibm-aix3.2.tar.gz</a>
<li><a href="https://files.scheme.org/unroff-1.0-sparc-sun-solaris2.tar.gz"> </li>
<li>
<a href=
"https://files.scheme.org/unroff-1.0-sparc-sun-solaris2.tar.gz">
unroff-1.0-sparc-sun-solaris2.tar.gz</a> unroff-1.0-sparc-sun-solaris2.tar.gz</a>
<li><a href="https://files.scheme.org/unroff-1.0-sparc-sun-sunos4.tar.gz"> </li>
<li>
<a href=
"https://files.scheme.org/unroff-1.0-sparc-sun-sunos4.tar.gz">
unroff-1.0-sparc-sun-sunos4.tar.gz</a> unroff-1.0-sparc-sun-sunos4.tar.gz</a>
</li>
</ul> </ul>
</li>
</ul> </ul>
<ul> <ul>
<li>The <b>Elk 3.0 Distribution</b> is available here: <li>The <b>Elk 3.0 Distribution</b> is available here:
<ul> <ul>
<li><a href="ftp://ftp.x.org/contrib/devel_tools/elk-3.0.tar.gz"> <li>
X Consortium Public FTP Server</a> <a href=
<li><a href= "ftp://ftp.x.org/contrib/devel_tools/elk-3.0.tar.gz">X
Consortium Public FTP Server</a>
</li>
<li>
<a href=
"ftp://ftp.cs.indiana.edu/pub/scheme-repository/imp/elk-3.0.tar.gz"> "ftp://ftp.cs.indiana.edu/pub/scheme-repository/imp/elk-3.0.tar.gz">
Scheme Repository at Indiana University</a> Scheme Repository at Indiana University</a>
<li><a href= </li>
"ftp://ftp.tzi.uni-bremen.de/tzi/dmn/elk/elk-3.0.tar.gz"> <li>
Universität Bremen, Germany</a> <a href=
"ftp://ftp.tzi.uni-bremen.de/tzi/dmn/elk/elk-3.0.tar.gz">Universit<69>t
Bremen, Germany</a>
</li>
</ul> </ul>
</li>
</ul> </ul>
<h2><a name="browse" id="browse">Browsing Source, Documentation,
<h2><a name=browse>Browsing Source, Documentation, Examples</a></h2> Examples</a></h2>You can have a look at the unroff source code
You can have a look at the unroff source code and documentation and documentation without having to download the distribution.
without having to download the distribution.<tt> </tt> All the HTML documents mentioned below have been produced with
All the HTML documents mentioned below have been unroff from the corresponding troff source (observe the
produced with unroff from the corresponding troff source automatically created hypertext links in the Programmer's
(observe the automatically created hypertext links in the Manual).
Programmer's Manual).
<p>
<ul> <ul>
<li><b>Source Code</b> <li>
<ul><li>Snoop around in the <b>Source Code</b>
<a href="https://gitea.scheme.org/conservatory/unroff">unroff</a> <ul>
source tree</a> <li>Snoop around in the <a href=
"https://gitea.scheme.org/conservatory/unroff">unroff</a>
source tree
</li>
</ul> </ul>
</li>
</ul> </ul>
<ul> <ul>
<li><b>Documentation</b> <li>
<b>Documentation</b>
<ul> <ul>
<li>Manual page <b>unroff.1</b> as <li>Manual page <b>unroff.1</b> as <a href=
<a href="doc/unroff.1.html">HTML</a>, "doc/unroff.1.html">HTML</a>, <a href=
<a href="doc/unroff.1.ps">PostScript</a>, "doc/unroff.1.ps">PostScript</a>, <a href=
<a href="doc/unroff.1">source</a> "doc/unroff.1">source</a>
<li>Manual page <b>unroff-html.1</b> as </li>
<a href="doc/unroff-html.1.html">HTML</a>, <li>Manual page <b>unroff-html.1</b> as <a href=
<a href="doc/unroff-html.1.ps">PostScript</a>, "doc/unroff-html.1.html">HTML</a>, <a href=
<a href="doc/unroff-html.1">source</a> "doc/unroff-html.1.ps">PostScript</a>, <a href=
<li>Manual page <b>unroff-html-man.1</b> as "doc/unroff-html.1">source</a>
<a href="doc/unroff-html-man.1.html">HTML</a>, </li>
<a href="doc/unroff-html-man.1.ps">PostScript</a>, <li>Manual page <b>unroff-html-man.1</b> as <a href=
<a href="doc/unroff-html-man.1">source</a> "doc/unroff-html-man.1.html">HTML</a>, <a href=
<li>Manual page <b>unroff-html-ms.1</b> as "doc/unroff-html-man.1.ps">PostScript</a>, <a href=
<a href="doc/unroff-html-ms.1.html">HTML</a>, "doc/unroff-html-man.1">source</a>
<a href="doc/unroff-html-ms.1.ps">PostScript</a>, </li>
<a href="doc/unroff-html-ms.1">source</a> <li>Manual page <b>unroff-html-ms.1</b> as <a href=
<li><b>Programmer's Manual</b> as HTML "doc/unroff-html-ms.1.html">HTML</a>, <a href=
"doc/unroff-html-ms.1.ps">PostScript</a>, <a href=
"doc/unroff-html-ms.1">source</a>
</li>
<li>
<b>Programmer's Manual</b> as HTML
<menu> <menu>
<li><a href="doc/manual.html">single document</a> <ul>
<li><a href="doc/m.html">split at level-1 headers</a> <li>
<a href="doc/manual.html">single document</a>
</li>
<li>
<a href="doc/m.html">split at level-1 headers</a>
</li>
</ul>
</menu> </menu>
<li><b>Programmer's Manual</b> as </li>
<a href="doc/manual.ps">PostScript</a> or <li>
<a href="doc/manual.ms">source</a> <b>Programmer's Manual</b> as <a href=
"doc/manual.ps">PostScript</a> or <a href=
"doc/manual.ms">source</a>
</li>
</ul> </ul>
</li>
</ul> </ul>
<ul> <ul>
<li><b>More Examples</b> <li>
<b>More Examples</b>
<ul> <ul>
<li>X11R6 Release Notes in -ms format <li>X11R6 Release Notes in -ms format (<a href=
(<a href="examples/RELNOTES.ms">source</a>) "examples/RELNOTES.ms">source</a>)
<menu> <menu>
<li><a href="examples/rel.html"> <ul>
single HTML document</a> <li>
<br>with user-defined TOC at end (-ms index macros) <a href="examples/rel.html">single HTML
<li><a href="examples/r.html"> document</a><br>
split at level-1 headers</a> with user-defined TOC at end (-ms index macros)
<br>with automatic TOC at first page </li>
<li>
<a href="examples/r.html">split at level-1
headers</a><br>
with automatic TOC at first page
</li>
</ul>
</menu> </menu>
<li>UNIX <a href="examples/pathconf.2.html">man page</a> with tables </li>
(<a href="examples/pathconf.2">pathconf.2</a>) <li>UNIX <a href="examples/pathconf.2.html">man page</a>
<li>X11 <a href="examples/XtSetArg.3.html">man page</a> with with tables (<a href="examples/pathconf.2">pathconf.2</a>)
user-defined macros </li>
(<a href="examples/XtSetArg.3">XtSetArg.3</a>) <li>X11 <a href="examples/XtSetArg.3.html">man page</a>
with user-defined macros (<a href=
"examples/XtSetArg.3">XtSetArg.3</a>)
</li>
</ul> </ul>
</li>
</ul> </ul>
<h2><a name="news" id="news">What's New?</a></h2>
<h2><a name=news>What's New?</a></h2> <p><i>January 28, 1996:</i>&nbsp; <b>Unofficial Patch with -me
<p> support</b></p>
<i>January 28, 1996:</i>&#160;<tt> </tt><b>Unofficial Patch <dl>
with -me support</b> <dd>
<dl><dt><dd> George Helffrich has contributed a patch for unroff-1.0 that
George Helffrich includes, among other things, an experimental implementation
has contributed a patch for unroff-1.0 that includes, among other things, of a backend for the -me macros and several fixes for the
an experimental implementation of a backend for the -me macros and several code that deals with equations. A detailed table of contents
fixes for the code that deals with equations.<tt> </tt> of at the beginning of the patch kit:
A detailed table of contents of at the beginning of the <p><a href=
patch kit: "contrib/me-misc-patch.diff"><b>me-misc-patch</b></a> <i>(39
<p> kbytes)</i></p>
<a href="contrib/me-misc-patch.diff"><b>me-misc-patch</b></a> </dd>
<i>(39 kbytes)</i>
</dl> </dl>
<p><i>February 13, 1997:</i>&nbsp; <b>Another Unofficial
<p> Patch</b></p>
<i>February 13, 1997:</i>&#160;<tt> </tt><b>Another Unofficial Patch</b> <dl>
<dl><dt><dd> <dd>
George Helffrich George Helffrich has contributed another large patch kit for
has contributed another large patch kit for unroff-1.0 that fixes unroff-1.0 that fixes several things in the -me support
several things in the -me support contributed earlier and in the -ms contributed earlier and in the -ms package and also adds some
package and also adds some new functionality. new functionality.
<p> <p><a href=
<a href="contrib/misc-patch-2.diff"><b>misc-patch-2</b></a> "contrib/misc-patch-2.diff"><b>misc-patch-2</b></a> <i>(79
<i>(79 kbytes)</i> kbytes)</i></p>
</dd>
</dl> </dl>
</body> </body>
</html> </html>