[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
.
.
.\" ====================================================================
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [groff] 01/01: groff_char(7): Eliminate raw request usage.,
G. Branden Robinson <=