On Jan 12, 2022, at 13:06, G. Branden Robinson <g.branden.robinson(a)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-…
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