[TUHS] *roff history as told to GNU

John Labovitz johnl at johnlabovitz.com
Thu Jan 13 12:38:06 AEST 2022


On Jan 12, 2022, at 13:06, G. Branden Robinson <g.branden.robinson at gmail.com> wrote:

> I've been collecting a detailed narrative history not just of the *roff
> _programs_ but also of the development on the language in the roff(7)
> manual page.  

Before RUNOFF was Peter Samson’s TJ-2 in 1963. It seems to have been the first program that incorporated the idea of input lines being interpreted as either control (with a prefix of a dot or other character) or text.

I dug up this history when I wrote ‘The Electric Typesetter: The Origins of Computing in Typography’ for the American Printing History Association’s journal _Printing History_ (issue 21, 2017). Sadly they don’t have online archives; my PDF of the article is here:

	https://johnlabovitz.com/publications/The-electric-typesetter--The-origins-of-computing-in-typography.pdf

It’s about more than markup languages, but here’s the relevant bit:

> The earliest known text-formatting software, TJ-2, was created by MIT-trained computer scientist Peter Samson in 1963. Its design and architecture set the stage for text-formatting and typesetting programs for the next several decades.
> 
> […]
> 
> TJ-2 read lines of text as its input. Each line was collected and formatted to make justified paragraphs (of monospaced type). However, if a line started with a special control code (“overbar,” in the lingo of the PDP-1 system, its host computer), the program interpreted it as a command. There were only a few commands, including a primitive line-centering mode, some simplistic indentation, and a command that left a specific amount of vertical space for a figure (e.g., illustration) to be inserted later.
> 
> […]
> 
> Note that TJ-2 did not interface with a phototypesetter — or any typesetter. Its output was destined to be printed on what was essentially an automatic typewriter outfitted only with monospaced fonts. While this seems a limitation, perhaps it was a necessary constraint at the time. But the TJ-2 went on to inspire (directly or indirectly) a long branch of typesetting software beginning with RUNOFF (“A Right-Justifying Type Out Program”) in 1964, a program that used “control words scattered in the text [to] provide detailed control over the format” of text. RUNOFF substituted TJ-2’s proprietary “overbar” control code with a simple period, and expanded the set of commands to produce line and page breaks and folios (page numbers). Then, in a fairly confusing list of technical begats over a decade or so, RUNOFF (capitals) led to “runoff” (lowercase), then to “rf,” “roff,” “nroff,” and “troff” — all software programs that utilized the same basic idea as TJ-2.

Links from the footnotes:

	TJ-2: http://www.dpbsmith.com/tj2.html
	RUNOFF: http://web.mit.edu/Saltzer/www/publications/CC-244.html

Best,
—John


More information about the TUHS mailing list