[ Usenet FAQs | Web FAQs | Documents | RFC Index ]
    Search the FAQ Archives

Single Page

Top Document: comp.text Frequently Asked Questions
Previous Document: TR1. What is troff? Why are there so many questions about it?
Next Document: TR3. What are some of the filters for troff output?


TR2. How many varieties of troff are there? What are the differences?


The original Ossanna troff generates proprietary printer codes for the
Wang C/A/T Phototypesetter; we'll call this "CAT Troff".  This version
comes bundled in many systems, in particular, SunOS, most other
Berkeley-derived systems, some SVR4s and is contained in the Xenix Text
Processing package.  The AT&T, BSD and Xenix variants all differ
slightly, but not in any important ways.  CAT troff is useless without
filters to convert the "CAT codes" to something else, especially since
the C/A/T is as common as a California condor.  These filters are
described later.

In 1981, Brian Kernighan of Bell Laboratories rewrote troff to generate
a generic typesetting language.  These troffs are called "ditroff" (for
device-independent troff) and contain some additional features such as
arbitrary line drawing, and more flexible font handling.  "Documenter's
Workbench" (DWB) is a package containing ditroff and several other
typesetting filters.  The latest AT&T version is DWB 3.4.1, which sold as
source code; most commercial binary variants (Elan, SoftQuad, Image
Network, etc.) are based on DWB 2.0.  The Free Software Foundation
distributes a re-engineered version of ditroff called groff.

If you have a troff and want to know which it is, type:
	troff < /dev/null > /dev/null
If it responds with "typesetter busy" or "No /dev/cat; use -t or -a",
you have CAT troff, otherwise it's ditroff.  If you get an answer from:
	dwbv
you have the AT&T release 3.0 or later.  The differences are too
numerous and subtle to document here, but the variants are about
95% compatible.  All are ASCII based, but DWB 3.4, Groff and
AIX 3.2's troff also accept ISO 8859-1 (aka ISO Latin 1), the
Western European character set and are 8 bit clean.  Any 8-bit
clean ditroff can be reconfigured to support alternate 8859-x
character sets.  AIX 3.2 ditroff also supports Kanji (multi-byte)
to a certain extent (as per IBM-932).

See TR16 for more on DWB.



Top Document: comp.text Frequently Asked Questions
Previous Document: TR1. What is troff? Why are there so many questions about it?
Next Document: TR3. What are some of the filters for troff output?

Single Page


[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
textfaq@ferret.ocunix.on.ca (Text FAQ commentary reception)

Last Update October 23 2009 @ 09:20 AM

Some parts © 2009 Advameg, Inc.