The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
To: Jaap Akkerhuis <jaapna@xs4all.nl>
Cc: "Jacobson, Doug W [E CPE]" <dougj@iastate.edu>,
	"tuhs@tuhs.org" <tuhs@tuhs.org>,
	groff@gnu.org
Subject: [TUHS] Re: Old troff files (1988-2007)
Date: Sun, 6 Oct 2024 10:11:33 -0500	[thread overview]
Message-ID: <20241006151133.fbj6pmujpvuuo47d@illithid> (raw)
In-Reply-To: <CFA96AC0-8E84-44A7-AA26-59D694CF90CA@xs4all.nl>

[-- Attachment #1: Type: text/plain, Size: 3640 bytes --]

Hi Jaap,

At 2024-10-06T14:54:59+0200, Jaap Akkerhuis wrote:
> > On 6 Oct 2024, at 00:22, G. Branden Robinson
> > <g.branden.robinson@gmail.com> wrote:
> > 
> > Unix nroff got frozen in amber in 1978 with respect to terminal
> > support, and continues to live in a world where the termcap and
> > terminfo libraries were never written.
> 
> Nroff did actually read in the output description from, if I remember
> correctly, /usr/lib/termtab/xxx with the argument -Txxx.

Yes.  When Kernighan refactored V7 troff/nroff for device-independence,
he implemented a similar scheme for each.  While for troff, this
resulted in device and font description files, "DESC" and a motley
variety of capitalized one-or-two letter names for fonts, for nroff they
were termed "driving tables", a terminological choice that concealed how
closely they resembled the troff scheme.

Compare, for example:

https://github.com/n-t-roff/DWB3.3/blob/master/postscript/devopost/DESC
https://github.com/n-t-roff/DWB3.3/blob/master/postscript/devopost/R

with:

https://minnie.tuhs.org/cgi-bin/utree.pl?file=V10/cmd/troff/tab.37
https://minnie.tuhs.org/cgi-bin/utree.pl?file=V10/cmd/troff/tab.450

...and the family resemblance seems clear.

> these where stripped object files.

I have heard tell of a "binary format" for Kernighan troff device and
font descriptions but never encountered it.  groff never attempted to
replicate it and I gather that Plan 9 troff also discarded it.

> I have made them for Diable daisy-wheel printers.  Some could create
> bold characters by overprinting and we once had one with two print
> heads, the second head had an italics daisy-wheel mounted.

Right.  The Diablo features heavily in early '80s Unix documentation.

However none of this has much to do, in my opinion, with the _terminal
capability databases_ offered by termcap and (later) terminfo.  The
whole point of these is to _query_ the user's terminal type, not have to
be told it with some `-T` option.

To my knowledge, no nroff has ever simply looked at "$TERM" and then
decided how to format output.  Approximately all other Unix software
that writes to a terminal behaves that way.  nroff didn't, and by God
some Unix grognards would have it stay that way.[1][2]  Mark Nudelman's
less(1) is probably the foremost contributor of inertia here, since
man(1) is far and away the leading application of nroff(1), and less(1)
the victorious pager program after a long and bloody campaign of
attrition.  (This isn't a complaint; we could have done worse.  most(1)
could have won instead.[3])

Lennart Jablonka has contributed a patch to groff to resolve this
longevous discrepancy.  (It ended up on my slow path for integration
because I decided I needed to understand terminfo much better, and that
in turn led me to contribute a large volume of man page revisions to
ncurses, many of which can be enjoyed(?) in its 6.5 release.[4])

https://savannah.gnu.org/bugs/?63583

Regards,
Branden

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=312935
[2] https://unix.stackexchange.com/questions/729124/linux-9-commands-send-ansi-color-sequences-to-monochrome-terminal
[3] https://invisible-island.net/ncurses/ncurses-slang.html

[4] https://invisible-island.net/ncurses/announce.html
    https://invisible-island.net/ncurses/man/

    Despite his grognard standpoint with respect to grotty(1)'s default
    use of SGR escape sequences in output, I would emphasize that Thomas
    Dickey has been a pleasure to work with.  It's difficult to imagine
    the same being true of Alan Curry.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2024-10-06 15:11 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-04 21:42 [TUHS] " Jacobson, Doug W [E CPE] via TUHS
2024-10-04 21:50 ` [TUHS] " Lyndon Nerenberg (VE7TFX/VE6BBM)
2024-10-04 21:52   ` Jacobson, Doug W [E CPE] via TUHS
2024-10-04 22:10     ` Bakul Shah via TUHS
2024-10-04 23:01     ` Clem Cole
2024-10-04 23:16       ` Clem Cole
2024-10-05  0:14 ` G. Branden Robinson
2024-10-05  4:09   ` Peter Yardley
2024-10-05 13:14   ` Clem Cole
2024-10-05 22:22     ` G. Branden Robinson
     [not found]       ` <CAC20D2NgmzDxhQu5P5hjrZ3ciSv=KayiUg8GwsFRpu0wPasprw@mail.gmail.com>
2024-10-06  5:53         ` [TUHS] Why groff ms doesn't completely support historical documents G. Branden Robinson
2024-10-06 12:54       ` [TUHS] Re: Old troff files (1988-2007) Jaap Akkerhuis
2024-10-06 15:11         ` G. Branden Robinson [this message]
2024-10-06 16:21           ` Ron Natalie
2024-10-09 21:02             ` Ron Natalie
2024-10-07 14:50       ` Leah Neukirchen
2024-10-08  6:45         ` G. Branden Robinson
2024-10-08 10:33           ` Jacobson, Doug W [E CPE] via TUHS
2024-10-08 10:49             ` G. Branden Robinson
2024-10-08 11:24               ` Jacobson, Doug W [E CPE] via TUHS
2024-10-16 21:40 ` Anton Shepelev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241006151133.fbj6pmujpvuuo47d@illithid \
    --to=g.branden.robinson@gmail.com \
    --cc=dougj@iastate.edu \
    --cc=groff@gnu.org \
    --cc=jaapna@xs4all.nl \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).