below
On Sun, Sep 27, 2015 at 4:33 AM, Mark Longridge <cubexyz(a)gmail.com> wrote:
It seems that nroff had the ability to show underlined
text very early
on, possibly as early as v3 according to the v3 manual
yes
Maybe there was the ability to use overstrike characters on the teletype?
Overprinting was a popular idea, particularly with line printers
(i.e. devices that printed multiple characters at the same time on a
single line), as well one character at a time devices modeled after the
ttywrite.
Remember, nroff's "native" terminal is a Teleptype Corp Model 37, which
were fairly popular n the labs in those days. The Teletype machines
printed one character at a time, and needs command characters to move
"platten" up or down and "carriage" back and forth. The
<CR><LF> idiom
is left over from those days.
As others have pointed out, Char ^H NewChar was a standard way to print
things on single chracter devices. As was also point out that was not
the best way to do over strike with a line printer, so there were Unix
filters to take reorder the data written, and add spaces as needed so the
line printer's output looked the same.
Again, as other point out this trick did not work well with some early
video terminals.
In bash I can use:
echo -e "\e[4munderline\e[0m"
You are mixing times I'm afraid. The \e[4m and \e[0m ideom is very late
in the game. Those are called ANSI screen sequences. To being with,
each manufacturer of "data terminating equipment (aka a DTE or a
"terminal") define how it would interpret what codes. As an industry we
first had agree on a code set (US ASCII - heck by the early 1980's CDC's
system could not agree on a character set - as another side bar, the #1
first behind ASCII was IBM and the 360 was supposed to be an ASCII machine,
but management made then ship it as EBCDIC machine for cost containment
reasons when OS/360 was late).
So by the 1970s, most systems were using 7-bit ASCII to print character
glyfs, but what the DTE did with with other things be it screen
manipulation, overprint, underline, cursor movement was all of the map.
Btw the late 1970, BSD would introduce "termcap" to solve the problem for
programs, and manufactures got together and agreed on soem screen sequences
(the ANSI sequences you refer).
Again, as an interesting twist. The VT-100 was not fully ANSI compliant -
its similar but it's not ANSI. The DEC terminal group took an earlier
(draft) version of the spec and used that to create the VT-100 (I used to
work with one of them in another life but that's another story). They
"embraced" and "extended" the ANSI terminal sequence (and VMS of
course
used the DEC version of the sequences). By the time of publishing of the
ANSI standard, the VT-100 had already become the most popular terminal on
the market, so the "Vt-100" compatible terminal became de jigur - as
manufacturers wanted sell terminal that could talk to VMS. Eventually
folks like Wyse (and even DEC in later versions of the VT series), had both
VT-100 "broken" mode and pure "ANSI" mode.
Clem
Shouldn't be too hard to hack up something that works in emulated v5.
Mark