G. Branden Robinson 0223aef416 [docs]: Reduce use of term "entity".
Doug McIlroy noted this vague term, which groff employs for multiple
purposes.  Eliminate its application to input processing.  There is now
no longer such a thing as an "entity" in the groff language.

* doc/groff.texi (Character Translations): Do it.  Also clarify
  "nothing" as "the dummy character".

  (Using Symbols): Do it.  Also recast explanation of difference between
  characters and glyphs.  Explicitly state that spaces aren't glyphs.
  Document that `rchar` request can't remove definitions supplied by
  font description files.

  (Ligatures and Kerning): Speak of "special characters", not
  "entities".

  (Other Differences): Recast discussion of character-to-glyph
  transformation.  Stop qualifying characters as "input".  Recast
  discussion of example.

* font/devutf8/NOTES: Revise use of terminology.  Perform a Kemper
  notectomy.  Wrap long lines.

* man/groff.7.man (Request short reference) <char>: Speak of a "special
  character", not an "entity".

  <rchar>: Document that request can't remove definitions supplied by
  font description files.

* man/groff_diff.7.man (Implementation differences): Sync with our
  Texinfo manual.

The use of "entity" to describe how a glyph gets mapped back to a
character (sequence) for the HTML and terminal output devices is
retained.  That usage is restricted to discussion of output drivers
(code comments and function names notwithstanding).
2023-04-24 23:58:16 -05:00

48 lines
1.5 KiB
Plaintext

All \[charXXX] special character names have been removed from the font
files. They don't make sense for Unicode.
The following special character name from the AT&T troff manual by
Ossanna and Kernighan is unmapped:
bs shaded solid ball (Bell System logo, AT&T logo)
Code point 0x002D has not been given a name because its Unicode name
HYPHEN-MINUS is so ambiguous that it is unusable for serious typographic
work.
\[wp] has been mapped to 0x2118, because according to Unicode 4.1's
NamesList.txt, U+2118 SCRIPT CAPITAL P is really a Weierstrass 'p',
neither SCRIPT nor CAPITAL.
The following line could be added; \[space] is known to devps but is not
documented and not known to devdvi (actually, there is no space glyph
within the TeX system).
space 24 0 0x0020
devps maps \[*U] to 'Upsilon1', which is equivalent to 0x03D2. We map
it to 0x03A5 instead.
devps maps \[*W] to 'Omega', which is equivalent to either 0x2126 or
0x03A9. We map it to 0x03A9.
devps maps \[*D] to 'Delta', which is equivalent to either 0x2206 or
0x0394. We map it to 0x0394.
Adding Unicode characters
-------------------------
Assume you want to use a Unicode character not provided in the list, say
U+20AC. You need to do two things:
- Add a line
u20AC 24 0 0x20AC
(the second column is computed as 24 * wcwidth(0x20AC)) to the file
R.proto, or, when groff is already installed, to the four font
description files in $(prefix)/share/groff/<version>/font/devutf8/.
- In your source file, use the notation \[u20AC] to access it.