groff-commit
[Top][All Lists]
Advanced

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

[groff] 01/01: groff_char(7): Eliminate raw request usage.


From: G. Branden Robinson
Subject: [groff] 01/01: groff_char(7): Eliminate raw request usage.
Date: Sat, 25 Jul 2020 14:31:39 -0400 (EDT)

gbranden pushed a commit to branch master
in repository groff.

commit d1847d1b1b3e4b7128c5f7ced6fda5723a60784d
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Sun Jul 26 03:43:29 2020 +1000

    groff_char(7): Eliminate raw request usage.
    
    Discard the rest of the low-level request-flinging.  It turns out that
    it was invalidated by commit 1a44514ecfd5d1c3e46dfce91b531fa0876657a4
    (August 2012).  The DVI device font fallback (conditioned on the ECFONTS
    register) from CR to R only made sense if anything in the page tried to
    access font CR, which it didn't after that commit.
    
    Similarly, the string for the apostrophe (neutral single quote) was
    defined for the benefit of some involved logic prior to that commit that
    attempted to get the appearance of one in the Computer Modern fonts the
    DVI device uses.  This was no longer functional after its removal.
    While it's likely this is a regression, the regression happened in 2012.
    (I'd be less equivocal, but I have not learned how to build groff before
    the build system got redesigned around bootstrap, gnulib, and Automake.)
    
    Moreover, my own (short-lived) comments about the string definitions
    were true but beside the point--the \*(aq string was used in only one
    place; plenty of other \[aq] escapes are present in the rest of the
    file.  Beyond that, the page crawls with groff-style escapes, so any
    troff that doesn't support \(aq is certainly going to choke hard on lots
    of other things in the page (or simply display nonsense).
    
    Therefore:
    
    * (page prologue):
      + Discard the aq string definition and its fallback on non-groffs.
      + Replace its one dereference with an \[aq] escape.
      + Remove special-font fallback for unused font.
    
    * (Description): Wordsmith some infelicitous language.
    
    * (Reference/Named glyphs/Brackets): Replace .EX/.EE-replicating
      requests with .EX and .EE.
    
    * (tables generally): Stop bracketing .TS/.TE requests with .na/.ad.
      They do nothing on grotty(1) and grops(1).
---
 man/groff_char.7.man | 76 +++++++---------------------------------------------
 1 file changed, 10 insertions(+), 66 deletions(-)

diff --git a/man/groff_char.7.man b/man/groff_char.7.man
index e509510..e3e7cc2 100644
--- a/man/groff_char.7.man
+++ b/man/groff_char.7.man
@@ -30,23 +30,6 @@ groff_char \- GNU roff special character and glyph repertoire
 .
 .
 .\" ====================================================================
-.\" Setup
-.\" ====================================================================
-.
-.
-.\" CSTR #54 does not define the special character \(aq.
-.ds aq \(aq
-.
-.\" If not groff (or not claiming groff compatibility), check the
-.\" implementation for \(aq.  If missing, we are at the mercy of the
-.\" output device.  Limp along with the acute accent/right single
-.\" quotation mark/whatever.
-.if !\n(.g .if '\(aq'' .ds aq \'
-.
-.do if !r ECFONTS .do fspecial CR R
-.
-.
-.\" ====================================================================
 .SH Description
 .\" ====================================================================
 .
@@ -83,7 +66,7 @@ repertoire differing from that of the computers that 
controlled them.
 .
 The solution
 .I troff
-adopted was a special form of escape sequence known as a
+adopted was a form of escape sequence known as a
 .I special character
 to access several dozen additional glyphs available in the fonts
 prepared for mounting in the phototypesetter.
@@ -117,14 +100,14 @@ request.
 This document lists all of the special characters supported by
 .I groff
 and describes the systematic notation by which it enables access to
-arbitrary Unicode code points and composition of composite glyphs.
+arbitrary Unicode code points and construction of composite glyphs.
 .
 The glyphs listed in this document may not be available,
 or may vary in appearance,
 depending on the output device chosen when the page was rendered
-(with option
+(with the
 .B \-T
-for the
+option to the
 .IR man (1)
 or
 .I roff
@@ -153,7 +136,7 @@ see
 Of these,
 only
 .B \e\-
-is also available as a special character,
+is also available as a special character of the same name,
 in the form
 .BR \e[\-] .
 .
@@ -331,7 +314,7 @@ with \[oq]\e`\[cq] (Unicode u0060).
 .
 .
 .TP
-.B \*(aq
+.B \[aq]
 the ISO \%latin1 \[oq]Apostrophe\[cq] (code\ 39) prints as \[cq],
 a right single quotation mark (Unicode u2019).
 The same output glyph is commonly used in typography to represent
@@ -366,7 +349,6 @@ can be obtained with \[oq]\e(ha\[cq] (Unicode u005E).
 .
 .
 .P
-.na
 .TS
 l l l l l lx.
 Output Input   Code    PostScript      Unicode Notes
@@ -409,7 +391,6 @@ _
 \[u02DC]       \[ti]   126     tilde   u02DC   small tilde
 \[ti]  \e(ti           asciitilde      u007E   tilde
 .TE
-.ad
 .
 .
 .\" ====================================================================
@@ -456,7 +437,6 @@ with a \%latin1 code page, it is better to use their glyph 
names;
 see the next section.
 .
 .P
-.na
 .TS
 l l l l l lx.
 Output Input   Code    PostScript      Unicode Notes
@@ -556,7 +536,6 @@ _
 \[char254]     \[char254]      254     thorn   u00FE   thorn
 \[char255]     \[char255]      255     ydieresis       u0079_0308      y 
dieresis (umlaut)
 .TE
-.ad
 .
 .
 .\" ====================================================================
@@ -652,7 +631,6 @@ text.
 .
 .
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -663,12 +641,10 @@ _
 \[Tp]  \e[Tp]  thorn   u00FE   lowercase thorn
 \[ss]  \e[ss]  germandbls      u00DF   German double s (sharp s)
 .TE
-.ad
 .
 .P
 .I Ligatures and Other Latin Glyphs
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -691,12 +667,10 @@ _
 \[.i]  \e[.i]  dotlessi        u0131   i without a dot (Turkish)
 \[.j]  \e[.j]  dotlessj        u0237   j without a dot
 .TE
-.ad
 .
 .P
 .I Accented Characters
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -762,7 +736,6 @@ _
 \[oA]  \e[oA]  Aring   u0041_030A      A ring
 \[oa]  \e[oa]  aring   u0061_030A      a ring
 .TE
-.ad
 .
 .P
 .I Accents
@@ -773,7 +746,6 @@ request is used to map most of the accents to non-spacing 
glyph names;
 the values given in parentheses are the original (spacing) ones.
 .
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -798,12 +770,10 @@ T}
 tilde in vertical middle, ASCII, in Unix-like the home directory
 T}
 .TE
-.ad
 .
 .P
 .I Quotes
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -825,12 +795,10 @@ T}
 single right-pointing angle quotation mark
 T}
 .TE
-.ad
 .
 .P
 .I Punctuation
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -841,7 +809,6 @@ _
 \[en]  \e[en]  endash  u2013   en-dash symbol
 \[hy]  \e[hy]  hyphen  u2010   hyphen symbol +
 .TE
-.ad
 .
 .P
 .I Brackets
@@ -861,10 +828,9 @@ escape's piling algorithm.
 A general solution to build brackets out of pieces is the following
 macro:
 .
-.P
-.nf
+.
 .RS
-.ft C
+.EX
 \&.\e" Make a pile centered vertically 0.5em
 \&.\e" above the baseline.
 \&.\e" The first argument is placed at the top.
@@ -891,9 +857,9 @@ macro:
 \&.  as pile \eh'\en[pile-wd]u'\e"
 \&..
 \&.ec
-.ft
+.EE
 .RE
-.fi
+.
 .
 .P
 Another complication is the fact that some glyphs which represent
@@ -914,7 +880,6 @@ only glyphs with long names are guaranteed to pile up 
correctly for all
 devices (provided those glyphs exist).
 .
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -1025,12 +990,10 @@ T}
 right parenthesis extension
 T}
 .TE
-.ad
 .
 .P
 .I Arrows
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -1057,7 +1020,6 @@ vertical double arrow in both directions
 T}
 \[an]  \e[an]  arrowhorizex    u23AF   horizontal arrow extension
 .TE
-.ad
 .
 .P
 .I Lines
@@ -1076,7 +1038,6 @@ extension of the square root sign.
 \[oq]ru\[cq] is a font-invariant glyph, namely a rule of length 0.5m.
 .
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -1090,7 +1051,6 @@ _
 \[sl]  \e[sl]  slash   u002F   +
 \[rs]  \e[rs]  backslash       u005C   reverse solidus
 .TE
-.ad
 .
 .P
 Use \[oq]\e[radicalex]\[cq], not
@@ -1099,7 +1059,6 @@ Use \[oq]\e[radicalex]\[cq], not
 .P
 .I Text markers
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -1119,12 +1078,10 @@ _
 \[CR]  \e[CR]  carriagereturn  u21B5   carriage return
 \[OK]  \e[OK]  a19     u2713   check mark, tick
 .TE
-.ad
 .
 .P
 .I Legal Symbols
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -1134,7 +1091,6 @@ _
 \[tm]  \e[tm]  trademark       u2122
 \[bs]  \e[bs]  ---     ---     AT&T Bell Labs logo +
 .TE
-.ad
 .
 .P
 The Bell Labs logo is not supported in groff.
@@ -1142,7 +1098,6 @@ The Bell Labs logo is not supported in groff.
 .P
 .I Currency symbols
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -1156,12 +1111,10 @@ _
 \[Cs]  \e[Cs]  currency        u00A4   Scandinavian currency sign
 \[Fn]  \e[Fn]  florin  u0192   Dutch currency sign
 .TE
-.ad
 .
 .P
 .I Units
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -1174,12 +1127,10 @@ _
 \[Of]  \e[Of]  ordfeminine     u00AA   feminine ordinal (Spanish)
 \[Om]  \e[Om]  ordmasculine    u00BA   masculine ordinal (Spanish)
 .TE
-.ad
 .
 .P
 .I Logical Symbols
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -1197,12 +1148,10 @@ _
 bitwise OR operator (as used in\ C) +
 T}
 .TE
-.ad
 .
 .P
 .I Mathematical Symbols
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -1300,7 +1249,6 @@ T}
 Planck\ constant\ /\ 2pi (h-bar)
 T}
 .TE
-.ad
 .
 .P
 .I Greek glyphs
@@ -1333,7 +1281,6 @@ the stroked version.
 In groff, symbol \[oq]\e[*f]\[cq] always denotes the stroked
 version of phi, and \[oq]\e[+f]\[cq] the curly variant.
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -1392,12 +1339,10 @@ _
 \[+p]  \e[+p]  omega1  u03D6   variant pi, looking like omega
 \[+e]  \e[+e]  uni03F5 u03F5   variant epsilon
 .TE
-.ad
 .
 .P
 .I Card symbols
 .P
-.na
 .TS
 l l l l lx.
 Output Input   PostScript      Unicode Notes
@@ -1409,7 +1354,6 @@ _
 \[DI]  \e[DI]  diamond u2666   black diamond suit
 \[u2662]       \e[u2662]       uni2662 u2662   white diamond suit
 .TE
-.ad
 .
 .
 .\" ====================================================================



reply via email to

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