groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: the 'SS' (slanted symbol) font (was: Original print of V7 manual? /


From: Tadziu Hoffmann
Subject: Re: the 'SS' (slanted symbol) font (was: Original print of V7 manual? / My own version of troff)
Date: Thu, 11 Jan 2024 01:31:18 +0100
User-agent: Mutt/1.11.4 (2019-03-13)

> The ordering of the S and SS fonts is immaterial here because
> the C/A/T _had_ no SS font.
> Nor do I see any of evidence of an "SS" font for _any_ device
> in Documenter's Workbench 3.3 troff.
> Barring evidence of pre-groff usage, then, I submit that the
> slanted symbol font must be a groffism.

No disagreement here.  Neither the C/A/T nor the APS 5 had an
SS font.  But both had a symbol font containing upright Greek
capitals and slanted Greek lowercase letters, specifically
intended for typesetting mathematical expressions
(based on a century of established mathematical typesetting
conventions[*]).

The SS is a groffism introduced to replicate this behavior
in a compatible manner without having a symbol font with
the above properties, in such a way that eqn could simply
request \(*A or \(*a and troff would automatically provide
the correct character.

[*](I'm wondering whether these conventions might not have had
much older roots, namely in the fonts (Garamond, Didot, Porson)
historically used to typeset some of the Greek classics,
which similarly had "roman" uppercase and "italic" lowercase
Greek letters.)


> > and nothing needs to be changed.

> I disagree, because nroff output is incorrect, failing to render
> lowercase Greek letters in italics when troff output _does_.

I see.  Since groff does not provide a usable neqn, I had never
considered using groff for typesetting math for the terminal.
(But see below.)


> sin ( 2 theta ) ~ = ~ 2 ~ sin theta cos theta
> (Note to self: an eqn full space should render as a space on
> nroff devices.  File a bug.)

No bug, simply "set thick_space 100" in eqnrc for the terminal
devices.

In addition to this, I'd suggest not to habitually try to
override the default spacing rules of eqn,

  sin ( 2 theta ) = 2 sin theta cos theta

since eqn already inserts thick_space around relations.


> Further, nothing in eqn documents its sensitivity to the font
> mounting order when determining the typefaces to be used.
> In fact that sensitivity overrides explicit configuration!

I'd assume this is a good (= flexible) thing.  Eqn requests
character "\(*h" (= theta), and troff provides this, from
whatever font the user has supplied that contains this
character.


> .\" "letter" means "slanted" in GNU eqn
> .\" This is actually redundant with the default configuration.

  .EQ
  chartype letter \(*h
  sin ( 2 theta ) = 2 sin theta cos theta
  .EN
  \(*h

Interestingly enough, the "chartype letter \(*h" is already
sufficient to switch the thetas from eqn into italic (or
rather, underlined) on my terminal, while the \(*h from the
last line remains normal, i.e., this simple change already
achieves what your proposed modification is meant to do.  (?)

(I assume this is because on the utf8 device, the theta is
provided by a normal text font, whereas in the postscript
device it comes from the special font.)


> >   1-4: R, I, B, BI    (standard text fonts)
> >   5:   CW             (computer/monospaced)
> >   6-9: SS, S, ZD, ZDR (special)

> Heavens no!  "CW" is a System-V-ism.  We have CR, CI, CB, and CBI.

Yes, but it explains why there are 5 empty positions in the
"fonts" declaration before SS, S, ZD, and ZDR.  :-)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]