groff
[Top][All Lists]
Advanced

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

Re: eqn formatting issues with grops and gropdf


From: G. Branden Robinson
Subject: Re: eqn formatting issues with grops and gropdf
Date: Tue, 26 Jul 2022 14:22:16 -0500

Hi Robert,

At 2022-07-26T15:03:43-0400, Robert Goulding wrote:
> OK, this explains something that has puzzled me. I have installed
> fonts for Greek text, and while I get fine output from devps, when I
> generate a pdf directly through gropdf, all of the unaccented Greek
> characters come out slanted. Attached is an example ms file, and the
> pdf generated from devps and ps2pdf, and devpdf, using the free Google
> font Tinos.

I believe groff_char(7) address this point.  Here's what the 1.22.4
version of the page says.

       Greek glyphs

       These glyphs are intended for technical use, not for real Greek;
       normally, the uppercase letters have upright shape, and the
       lowercase ones are slanted.

groff Git HEAD says:

---
   Greek glyphs
       These glyphs are intended for technical use, not for typesetting
       Greek language text; normally, the uppercase letters have upright
       shape, and the lowercase ones are slanted.
[snip]
History
       A consideration of the typefaces originally available to AT&T
       nroff and troff illuminates many conventions that one might
       regard as idiosyncratic fifty years afterward.  (See section
       “History” of roff(7) for more context.)  The face used by the
       Teletype Model 37 terminals of the Murray Hill Unix Room was
       based on ASCII, but assigned multiple meanings to several code
       points, as suggested by that standard.  Decimal 34 (") served as
       a dieresis accent and neutral double quotation mark; decimal 39
       (') as an acute accent, apostrophe, and closing (right) single
       quotation mark; decimal 45 (-) as a hyphen and a minus sign;
       decimal 94 (^) as a circumflex accent and caret; decimal 96 (`)
       as a grave accent and opening (left) single quotation mark; and
       decimal 126 (~) as a tilde accent and (with a half‐line motion)
       swung dash.  The Model 37 bore an optional extended character set
       offering upright Greek letters and several mathematical symbols;
       these were documented as early as the kbd(VII) man page of the
       (First Edition) Unix Programmer’s Manual.
[snip]
See also
[snip]
       “Nroff/Troff User’s Manual” by Joseph F. Ossanna, 1976, AT&T Bell
       Laboratories Computing Science Technical Report No. 54, features
       two tables that throw light on the glyph repertoire available to
       “typesetter roff” when it was first written.  Be careful of re‐
       typeset versions of this document that can be found on the
       Internet.  Some do not accurately represent the original
       document: several glyphs are obviously missing.  More subtly,
       lowercase Greek letters are rendered upright, not slanted as they
       appeared in the C/A/T’s special font and as expected by troff
       users.
---

> Is there any way to tell grofpdf *not *to slant \(*a etc?

Someone may have a better idea, but if I had to do it with my meager
present knowledge, I'd either redefine the character entities...

.char \[*a] \[u03B1]
.char \[*b] \[u03B2]

...and so forth, or use the new rfc1345 macro file contributed by Dorai
Sitaram.  Its character definitions do _not_ conflict with the special
character names expected by eqn(1).

...
.char \[A%] \[u0386]    \" GREEK CAPITAL LETTER ALPHA WITH ACUTE
.char \[E%] \[u0388]    \" GREEK CAPITAL LETTER EPSILON WITH ACUTE
.char \[Y%] \[u0389]    \" GREEK CAPITAL LETTER ETA WITH ACUTE
.char \[I%] \[u038A]    \" GREEK CAPITAL LETTER IOTA WITH ACUTE
.char \[O%] \[u038C]    \" GREEK CAPITAL LETTER OMICRON WITH ACUTE
.char \[U%] \[u038E]    \" GREEK CAPITAL LETTER UPSILON WITH ACUTE
.char \[W%] \[u038F]    \" GREEK CAPITAL LETTER OMEGA WITH ACUTE
.char \[i3] \[u0390]    \" GREEK SMALL LETTER IOTA WITH ACUTE AND DIAERESIS
.char \[A*] \[u0391]    \" GREEK CAPITAL LETTER ALPHA
.char \[B*] \[u0392]    \" GREEK CAPITAL LETTER BETA
.char \[G*] \[u0393]    \" GREEK CAPITAL LETTER GAMMA
.char \[D*] \[u0394]    \" GREEK CAPITAL LETTER DELTA
...
.char \[a%] \[u03AC]    \" GREEK SMALL LETTER ALPHA WITH ACUTE
.char \[e%] \[u03AD]    \" GREEK SMALL LETTER EPSILON WITH ACUTE
.char \[y%] \[u03AE]    \" GREEK SMALL LETTER ETA WITH ACUTE
.char \[i%] \[u03AF]    \" GREEK SMALL LETTER IOTA WITH ACUTE
.char \[u3] \[u03B0]    \" GREEK SMALL LETTER UPSILON WITH ACUTE AND DIAERESIS
.char \[a*] \[u03B1]    \" GREEK SMALL LETTER ALPHA
.char \[b*] \[u03B2]    \" GREEK SMALL LETTER BETA
.char \[g*] \[u03B3]    \" GREEK SMALL LETTER GAMMA
.char \[d*] \[u03B4]    \" GREEK SMALL LETTER DELTA
.char \[e*] \[u03B5]    \" GREEK SMALL LETTER EPSILON
.char \[z*] \[u03B6]    \" GREEK SMALL LETTER ZETA
.char \[y*] \[u03B7]    \" GREEK SMALL LETTER ETA
...

If you're stuck on groff 1.22.4, it's no big deal; the macro file uses
no post-1.22.4 features.  You can grab it from Git, drop it into your
tmac search path, and go about your work.

https://git.savannah.gnu.org/cgit/groff.git/tree/contrib/rfc1345/rfc1345.tmac

Regards,
Branden

Attachment: signature.asc
Description: PGP signature


reply via email to

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