groff-commit
[Top][All Lists]
Advanced

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

[groff] 16/28: groff_char(7): Replace Latin-1 table.


From: G. Branden Robinson
Subject: [groff] 16/28: groff_char(7): Replace Latin-1 table.
Date: Tue, 1 Sep 2020 07:43:07 -0400 (EDT)

gbranden pushed a commit to branch master
in repository groff.

commit 3e583c9541e4f764c175d7507a9aea1f8eeaaa55
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Tue Sep 1 20:15:31 2020 +1000

    groff_char(7): Replace Latin-1 table.
    
    The purpose of this table originally, I suppose, was to show Latin-1
    groff users all the cool glyphs that were supported as input by the
    engine.  Today, Latin-1 is old and busted and UTF-8 is the new hotness.
    (Okay, that was just as true twenty years ago.)
    
    But there were other problems.
    
    The old one was too wide, far overrunning the 78n limit in nroff mode.
    It featured a column, "Code", that the subsequent glyph tables lacked,
    and which was blatantly duplicative of the decimal \[charNNN] escape
    notation.  Said escape notation was not itself escaped, rendering the
    "Input" and "Output" columns the same, making the table far less useful
    for users who didn't know how to compose all of the glyphs in the table
    with their keyboards.  (Okay, it's wasn't difficult to guess that one
    could use the "Code" column to construct a \[charNNN] escape, but that
    observation renders the "Input" column superfluous for a different
    reason.)  Also, the table had one row per code point with no blank
    lines--the longest such stretch by far in this man page--which
    frustrated tbl(1) and made it complain about not being able to fit it on
    a page.  (To be fair, that tbl(1) complains even in the
    continuous-rendering mode used by man pages is probably a bug in it.)
    
    The new table uses only three columns; the rendered glyph, the special
    character escape that renders it, and a glyph description.  This turned
    out to narrow the table enough that I could arrange in into two adjacent
    columns of 3 fields each (with literally NO room left for horizontal
    expansion--it's right at the 78n limit, thanks to "{femin,mascu}line
    ordinal indicator").
    
    What's more, the input column now documents glyph names instead of the
    legacy eight-bit numeric special character escape form.  These are
    shorter, more mnemonic, and portable to EBCDIC systems.  Some of them
    are even portable to AT&T troff and its descendants.
    
    Since every single one of these glyphs appears in a later table, no
    information is lost by dropping the AGL and Unicode code point columns.
---
 man/groff_char.7.man | 146 +++++++++++++++++----------------------------------
 1 file changed, 48 insertions(+), 98 deletions(-)

diff --git a/man/groff_char.7.man b/man/groff_char.7.man
index abbf3b8..b5612de 100644
--- a/man/groff_char.7.man
+++ b/man/groff_char.7.man
@@ -525,105 +525,55 @@ to use their glyph names;
 see the next section.
 .
 .P
-.\" XXX: This table overruns 78n on nroff devices.
 .TS
-l l l l l lx.
-Output Input   Code    AGL     Unicode Notes
-_
-\[char161]     \[char161]      161     exclamdown      u00A1   inverted 
exclamation mark
-\[char162]     \[char162]      162     cent    u00A2   cent sign
-\[char163]     \[char163]      163     sterling        u00A3   pound sign
-\[char164]     \[char164]      164     currency        u00A4   currency sign
-\[char165]     \[char165]      165     yen     u00A5   yen sign
-\[char166]     \[char166]      166     brokenbar       u00A6   broken bar
-\[char167]     \[char167]      167     section u00A7   section sign
-\[char168]     \[char168]      168     dieresis        u00A8   dieresis accent
-\[char169]     \[char169]      169     copyright       u00A9   copyright sign
-\[char170]     \[char170]      170     ordfeminine     u00AA   feminine 
ordinal indicator
-\[char171]     \[char171]      171     guillemotleft   u00AB   left double 
chevron
-\[char172]     \[char172]      172     logicalnot      u00AC   logical not
-\[char174]     \[char174]      174     registered      u00AE   registered sign
-\[char175]     \[char175]      175     macron  u00AF   macron accent
-\[char176]     \[char176]      176     degree  u00B0   degree sign
-\[char177]     \[char177]      177     plusminus       u00B1   plus-minus
-\[char178]     \[char178]      178     twosuperior     u00B2   superscript two
-\[char179]     \[char179]      179     threesuperior   u00B3   superscript 
three
-\[char180]     \[char180]      180     acute   u00B4   acute accent
-\[char181]     \[char181]      181     mu      u00B5   micro sign
-\[char182]     \[char182]      182     paragraph       u00B6   pilcrow sign
-\[char183]     \[char183]      183     periodcentered  u00B7   centered period
-\[char184]     \[char184]      184     cedilla u00B8   cedilla accent
-\[char185]     \[char185]      185     onesuperior     u00B9   superscript one
-\[char186]     \[char186]      186     ordmasculine    u00BA   masculine 
ordinal indicator
-\[char187]     \[char187]      187     guillemotright  u00BB   right double 
chevron
-\[char188]     \[char188]      188     onequarter      u00BC   one quarter 
symbol
-\[char189]     \[char189]      189     onehalf u00BD   one half symbol
-\[char190]     \[char190]      190     threequarters   u00BE   three quarters 
symbol
-\[char191]     \[char191]      191     questiondown    u00BF   inverted 
question mark
-\[char192]     \[char192]      192     Agrave  u0041_0300      A grave
-\[char193]     \[char193]      193     Aacute  u0041_0301      A acute
-\[char194]     \[char194]      194     Acircumflex     u0041_0302      A 
circumflex
-\[char195]     \[char195]      195     Atilde  u0041_0303      A tilde
-\[char196]     \[char196]      196     Adieresis       u0041_0308      A 
dieresis
-\[char197]     \[char197]      197     Aring   u0041_030A      A ring
-\[char198]     \[char198]      198     AE      u00C6   A+E combined
-\[char199]     \[char199]      199     Ccedilla        u0043_0327      C 
cedilla
-\[char200]     \[char200]      200     Egrave  u0045_0300      E grave
-\[char201]     \[char201]      201     Eacute  u0045_0301      E acute
-\[char202]     \[char202]      202     Ecircumflex     u0045_0302      E 
circumflex
-\[char203]     \[char203]      203     Edieresis       u0045_0308      E 
dieresis
-\[char204]     \[char204]      204     Igrave  u0049_0300      I grave
-\[char205]     \[char205]      205     Iacute  u0049_0301      I acute
-\[char206]     \[char206]      206     Icircumflex     u0049_0302      I 
circumflex
-\[char207]     \[char207]      207     Idieresis       u0049_0308      I 
dieresis
-\[char208]     \[char208]      208     Eth     u00D0   uppercase eth
-\[char209]     \[char209]      209     Ntilde  u004E_0303      N tilde
-\[char210]     \[char210]      210     Ograve  u004F_0300      O grave
-\[char211]     \[char211]      211     Oacute  u004F_0301      O acute
-\[char212]     \[char212]      212     Ocircumflex     u004F_0302      O 
circumflex
-\[char213]     \[char213]      213     Otilde  u004F_0303      O tilde
-\[char214]     \[char214]      214     Odieresis       u004F_0308      O 
dieresis
-\[char215]     \[char215]      215     multiply        u00D7   multiplication 
sign
-\[char216]     \[char216]      216     Oslash  u00D8   O slash
-\[char217]     \[char217]      217     Ugrave  u0055_0300      U grave
-\[char218]     \[char218]      218     Uacute  u0055_0301      U acute
-\[char219]     \[char219]      219     Ucircumflex     u0055_0302      U 
circumflex
-\[char220]     \[char220]      220     Udieresis       u0055_0308      U 
dieresis
-\[char221]     \[char221]      221     Yacute  u0059_0301      Y acute
-\[char222]     \[char222]      222     Thorn   u00DE   uppercase thorn
-\[char223]     \[char223]      223     germandbls      u00DF   lowercase sharp 
s
-\[char224]     \[char224]      224     agrave  u0061_0300      a grave
-\[char225]     \[char225]      225     aacute  u0061_0301      a acute
-\[char226]     \[char226]      226     acircumflex     u0061_0302      a 
circumflex
-\[char227]     \[char227]      227     atilde  u0061_0303      a tilde
-\[char228]     \[char228]      228     adieresis       u0061_0308      a 
dieresis
-\[char229]     \[char229]      229     aring   u0061_030A      a ring
-\[char230]     \[char230]      230     ae      u00E6   a+e combined
-\[char231]     \[char231]      231     ccedilla        u0063_0327      c 
cedilla
-\[char232]     \[char232]      232     egrave  u0065_0300      e grave
-\[char233]     \[char233]      233     eacute  u0065_0301      e acute
-\[char234]     \[char234]      234     ecircumflex     u0065_0302      e 
circumflex
-\[char235]     \[char235]      235     edieresis       u0065_0308      e 
dieresis
-\[char236]     \[char236]      236     igrave  u0069_0300      i grave
-\[char237]     \[char237]      237     iacute  u0069_0301      i acute
-\[char238]     \[char238]      238     icircumflex     u0069_0302      i 
circumflex
-\[char239]     \[char239]      239     idieresis       u0069_0308      i 
dieresis
-\[char240]     \[char240]      240     eth     u00F0   lowercase eth
-\[char241]     \[char241]      241     ntilde  u006E_0303      n tilde
-\[char242]     \[char242]      242     ograve  u006F_0300      o grave
-\[char243]     \[char243]      243     oacute  u006F_0301      o acute
-\[char244]     \[char244]      244     ocircumflex     u006F_0302      o 
circumflex
-\[char245]     \[char245]      245     otilde  u006F_0303      o tilde
-\[char246]     \[char246]      246     odieresis       u006F_0308      o 
dieresis
-\[char247]     \[char247]      247     divide  u00F7   division sign
-\[char248]     \[char248]      248     oslash  u00F8   o slash
-\[char249]     \[char249]      249     ugrave  u0075_0300      u grave
-\[char250]     \[char250]      250     uacute  u0075_0301      u acute
-\[char251]     \[char251]      251     ucircumflex     u0075_0302      u 
circumflex
-\[char252]     \[char252]      252     udieresis       u0075_0308      u 
dieresis
-\[char253]     \[char253]      253     yacute  u0079_0301      y acute
-\[char254]     \[char254]      254     thorn   u00FE   thorn
-\[char255]     \[char255]      255     ydieresis       u0079_0308      y 
dieresis
+l2 l l l2 l l.
+\[r!]  \e[r!]  inverted exclamation mark       \[~N]   \e[\[ti]N]      N tilde
+\[ct]  \e[ct]  cent sign       \[`O]   \e[\[ga]O]      O grave
+\[Po]  \e[Po]  pound sign      \['O]   \e[\[aq]O]      O acute
+\[Cs]  \e[Cs]  currency sign   \[^O]   \e[\[ha]O]      O circumflex
+\[Ye]  \e[Ye]  yen sign        \[~O]   \e[\[ti]O]      O tilde
+\[bb]  \e[bb]  broken bar      \[:O]   \e[:O]  O dieresis
+\[sc]  \e[sc]  section sign    \[mu]   \e[mu]  multiplication sign
+\[ad]  \e[ad]  dieresis accent \[/O]   \e[/O]  O slash
+\[co]  \e[co]  copyright sign  \[`U]   \e[\[ga]U]      U grave
+\[Of]  \e[Of]  feminine ordinal indicator      \['U]   \e[\[aq]U]      U acute
+\[Fo]  \e[Fo]  left double chevron     \[^U]   \e[\[ha]U]      U circumflex
+\[no]  \e[no]  logical not     \[:U]   \e[:U]  U dieresis
+\[rg]  \e[rg]  registered sign \['Y]   \e[\[aq]Y]      Y acute
+\[a-]  \e[a\-] macron accent   \[TP]   \e[TP]  uppercase thorn
+\[de]  \e[de]  degree sign     \[ss]   \e[ss]  lowercase sharp s
+\[+-]  \e[+\-] plus-minus      \[`a]   \e[\[ga]a]      a grave
+\[S2]  \e[S2]  superscript two \['a]   \e[\[aq]a]      a acute
+\[S3]  \e[S3]  superscript three       \[^a]   \e[\[ha]a]      a circumflex
+\[aa]  \e[aa]  acute accent    \[~a]   \e[\[ti]a]      a tilde
+\[mc]  \e[mc]  micro sign      \[:a]   \e[:a]  a dieresis
+\[ps]  \e[ps]  pilcrow sign    \[oa]   \e[oa]  a ring
+\[pc]  \e[pc]  centered period \[ae]   \e[ae]  a+e combined
+\[ac]  \e[ac]  cedilla accent  \[,c]   \e[,c]  c cedilla
+\[S1]  \e[S1]  superscript one \[`e]   \e[\[ga]e]      e grave
+\[Om]  \e[Om]  masculine ordinal indicator     \['e]   \e[\[aq]e]      e acute
+\[Fc]  \e[Fc]  right double chevron    \[^e]   \e[\[ha]e]      e circumflex
+\[14]  \e[14]  one quarter symbol      \[:e]   \e[:e]  e dieresis
+\[12]  \e[12]  one half symbol \[`i]   \e[\[ga]i]      i grave
+\[34]  \e[34]  three quarters symbol   \['i]   \e[\[aq]i]      e acute
+\[r?]  \e[r?]  inverted question mark  \[^i]   \e[\[ha]i]      i circumflex
+\[`A]  \e[\[ga]A]      A grave \[:i]   \e[:i]  i dieresis
+\['A]  \e[\[aq]A]      A acute \[Sd]   \e[Sd]  lowercase eth
+\[^A]  \e[\[ha]A]      A circumflex    \[~n]   \e[\[ti]n]      n tilde
+\[~A]  \e[\[ti]A]      A tilde \[`o]   \e[\[ga]o]      o grave
+\[:A]  \e[:A]  A dieresis      \['o]   \e[\[aq]o]      o acute
+\[oA]  \e[oA]  A ring  \[^o]   \e[\[ha]o       o circumflex
+\[AE]  \e[AE]  A+E combined    \[~o]   \e[\[ti]o]      o tilde
+\[,C]  \e[,C]  C cedilla       \[:o]   \e[:o]  o dieresis
+\[`E]  \e[\[ga]E]      E grave \[di]   \e[di]  division sign
+\['E]  \e[\[aq]E]      E acute \[/o]   \e[/o]  o slash
+\[^E]  \e[\[ha]E]      E circumflex    \[`u]   \e[\[ga]u]      u grave
+\[:E]  \e[:E]  E dieresis      \['u]   \e[\[aq]u]      u acute
+\[`I]  \e[\[ga]I]      I grave \[^u]   \e[\[ha]u]      u circumflex
+\['I]  \e[\[aq]I]      I acute \[:u]   \e[:u]  u dieresis
+\[^I]  \e[\[ha]I]      I circumflex    \['y]   \e[\[aq]y]      y acute
+\[:I]  \e[:I]  I dieresis      \[Tp]   \e[Tp]  lowercase thorn
+\[-D]  \e[\-D] uppercase eth   \[:y]   \e[:y]  y dieresis
 .TE
 .
 .



reply via email to

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