groff
[Top][All Lists]
Advanced

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

Re: [Groff] Why does tty-char.tmac not represent meaning?


From: Ingo Schwarze
Subject: Re: [Groff] Why does tty-char.tmac not represent meaning?
Date: Sun, 23 Jul 2017 21:01:06 +0200
User-agent: Mutt/1.6.2 (2016-07-01)

Hi,

Werner LEMBERG wrote on Sat, Jun 24, 2017 at 09:42:00AM +0200:

> After a quick glance: LGTM.  Thanks for working on this.

I just completed this work, handling national language characters
in the same way.  Unless there are objections, it would be nice
if somebody with commit access could put it in.

After that, i will change mandoc to match.

For ease of reference, i'm appending the full rationale and the
complete patch to this mail.

Yours,
  Ingo


 ----- 8< ----- schnipp ----- >8 ----- 8< ----- schnapp ----- >8 -----

Since there was positive feedback and no concerns raised, here is
an improved and completed version of the patch.

tty-char_symbols.patch
  is a modified version of the original patch with exactly one
  change: incorporating Doug McIlroy's suggestion to print "<nabla>"
  for \(gr, to avoid possible confusion over the wording "gradient"
  when it is used in a scalar product (div) or vector product (rot).

tty-char_letters.patch
  addresses national language characters, using the same principle.
  Some notes:

  1. The bulk of the patch changes the representation of Greek
     letters.  Neither the old nor the new representation is adequate
     for reading Greek text.  You *really* have to use -Tutf8 for
     Greek text.  But the new representation makes mathematical
     formulae intelligible.

  2. \(ss is represented as simply "ss".  As a native German speaker,
     i can confirm that this is definitely the right thing to do,
     and there is no reasonable alternative.

  3. The Spanish inverted exclamation and question marks are
     represented by the same characters in upright position.
     While that will probably look strange to Spanish readers,
     i can think of no better way, and i think everybody will
     understand it.  The current "i" and "c" is unintelligible.

  4. Icelandic Eth is represented as "Dh", Thorn as "Th".  If you
     have a better idea, that's fine with me; i don't speak Icelandic,
     so i may well be wrong in this respect.

tty-char_combined.patch
is a combination of both patches (appended below).

 ----- 8< ----- schnipp ----- >8 ----- 8< ----- schnapp ----- >8 -----

diff --git a/tmac/tty-char.tmac b/tmac/tty-char.tmac
index 93ca2b7c..943e454f 100644
--- a/tmac/tty-char.tmac
+++ b/tmac/tty-char.tmac
@@ -9,7 +9,8 @@
 .\" - work with all of -Tascii, -Tlatin1, -Tutf8, and -Tcp1047.
 .\" - work on devices that display only the last overstruck character
 .\"   as well as on devices that support overstriking
-.\" - represent the character's graphical shape (not its meaning)
+.\" - help understanding the character's meaning, only aiming to imitate
+.\"   a particular graphical shape when that doesn't hinder understanding
 .\"
 .\" Note that the optical appearance of the definitions contained in this
 .\" file is inferior compared to that of the replacement characters defined
@@ -30,70 +31,68 @@
 .tty-char \[rn] \*[tty-rn]
 .tty-char \[ua] \z|^
 .tty-char \[da] \z|v
-.tty-char \[sc] S
+.tty-char \[sc] <section>
 .tty-char \[ct] \z/c
-.tty-char \[dg] \z|-
-.tty-char \[dd] \z|=
-.tty-char \[ib] (\z=_
-.tty-char \[ip] \z=_)
-.tty-char \[sb] (=
-.tty-char \[sp] =)
-.tty-char \[if] oo
-.tty-char \[pt] oc
+.tty-char \[dg] <*>
+.tty-char \[dd] <**>
+.tty-char \[ib] <subset\~or\~equal>
+.tty-char \[ip] <superset\~or\~equal>
+.tty-char \[sb] <proper\~subset>
+.tty-char \[sp] <proper\~superset>
+.tty-char \[if] <infinity>
+.tty-char \[pt] <proportional\~to>
 .tty-char \[es] {}
-.tty-char \[ca] (^)
-.tty-char \[cu] U
-.tty-char \[de] o
-.tty-char \[di] -:-
-.tty-char \[tdi] -:-
+.tty-char \[ca] <intersection>
+.tty-char \[cu] <union>
+.tty-char \[de] <degree>
+.tty-char \[di] /
+.tty-char \[tdi] /
 .tty-char \[no] ~
 .tty-char \[tno] ~
-.tty-char \[gr] \Z'\*[tty-rn]'V
-.tty-char \[is] \z'\z,I
-.tty-char \[mo] E
-.tty-char \[pd] a
-.tty-char \[sr] \e/
-.tty-char \[*C] \z_H
-.tty-char \[*D] \z_/\z_\e
-.tty-char \[*F] \zIO
-.tty-char \[*G] |\*[tty-rn]
-.tty-char \[*H] \z-O
-.tty-char \[*L] /\e
-.tty-char \[*P] TT
-.tty-char \[*Q] \zIY
-.tty-char \[*S] \z_\Z'\*[tty-rn]'>
-.tty-char \[*W] \z_O
-.if c\[ss] .tty-char \[*b] \[ss]
-.tty-char \[*b] B
-.tty-char \[*a] a
-.tty-char \[*c] \z,E
-.tty-char \[*d] d
-.tty-char \[*e] e
-.tty-char \[+e] e
-.tty-char \[*f] \z|o
-.tty-char \[+f] \z|o
-.tty-char \[*g] y
-.tty-char \[*h] \z-0
-.tty-char \[+h] \z-0
-.tty-char \[*i] i
-.tty-char \[*k] k
-.tty-char \[*l] \z>\e
-.tty-char \[*m] \z,u
-.tty-char \[*n] v
-.tty-char \[*p] \z-n
-.tty-char \[+p] \z-w
-.tty-char \[*q] \z|u
-.tty-char \[*r] p
-.tty-char \[*s] \z-o
-.tty-char \[*t] \z~t
-.tty-char \[*u] u
-.tty-char \[*w] w
-.tty-char \[*x] x
-.tty-char \[*y] n
-.tty-char \[*z] \z,C
-.tty-char \[ts] s
-.\" Definition of \[ss] should follow that of \[*b].
-.tty-char \[ss] B
+.tty-char \[gr] <nabla>
+.tty-char \[is] <integral>
+.tty-char \[mo] <element\~of>
+.tty-char \[pd] <del>
+.tty-char \[sr] <sqrt>
+.tty-char \[*C] <Xi>
+.tty-char \[*D] <Delta>
+.tty-char \[*F] <Phi>
+.tty-char \[*G] <Gamma>
+.tty-char \[*H] <Theta>
+.tty-char \[*L] <Lambda>
+.tty-char \[*P] <Pi>
+.tty-char \[*Q] <Psi>
+.tty-char \[*S] <Sigma>
+.tty-char \[*W] <Omega>
+.tty-char \[*b] <beta>
+.tty-char \[*a] <alpha>
+.tty-char \[*c] <xi>
+.tty-char \[*d] <delta>
+.tty-char \[*e] <epsilon>
+.tty-char \[+e] <epsilon>
+.tty-char \[*f] <phi>
+.tty-char \[+f] <phi>
+.tty-char \[*g] <gamma>
+.tty-char \[*h] <theta>
+.tty-char \[+h] <theta>
+.tty-char \[*i] <iota>
+.tty-char \[*k] <kappa>
+.tty-char \[*l] <lambda>
+.tty-char \[*m] <mu>
+.tty-char \[*n] <nu>
+.tty-char \[*p] <pi>
+.tty-char \[+p] <pi>
+.tty-char \[*q] <psi>
+.tty-char \[*r] <rho>
+.tty-char \[*s] <sigma>
+.tty-char \[*t] <tau>
+.tty-char \[*u] <upsilon>
+.tty-char \[*w] <omega>
+.tty-char \[*x] <chi>
+.tty-char \[*y] <eta>
+.tty-char \[*z] <zeta>
+.tty-char \[ts] <sigma>
+.tty-char \[ss] ss
 .tty-char \[c*] \zO\[mu]
 .tty-char \[c+] \zO+
 .tty-char \[AN] ^
@@ -103,31 +102,31 @@
 .if c\[md] .tty-char \[pc] \[md]
 .if c\[pc] .tty-char \[md] \[pc]
 .if c\[pc] .tty-char \[a.] \[pc]
-.tty-char \[Im] I
-.tty-char \[Re] R
+.tty-char \[Im] <Im>
+.tty-char \[Re] <Re>
 .tty-char \[/L] \z/L
 .tty-char \[/l] \z/l
-.tty-char \[%0] %o
+.tty-char \[%0] <permille>
 .tty-char \[ao] o
 .tty-char \[a"] """"
 .tty-char \[ab] \z'`
 .tty-char \[ah] v
 .tty-char \[ho] \[ac]
-.tty-char \[/_] \z_/
+.tty-char \[/_] <angle>
 .tty-char \[=~] =~
 .tty-char \[|=] -~
-.tty-char \[Ah] N
-.tty-char \[CR] _|
-.tty-char \[fa] \z-V
-.tty-char \[nm] \z/E
-.tty-char \[pp] \z_|
+.tty-char \[Ah] <Aleph>
+.tty-char \[CR] <cr>
+.tty-char \[fa] <for\~all>
+.tty-char \[nm] <not\~element\~of>
+.tty-char \[pp] <perpendicular>
 .tty-char \[sd] ''
-.tty-char \[st] -)
-.tty-char \[te] 3
+.tty-char \[st] <such\~that>
+.tty-char \[te] <there\~exists>
 .if c\[md] .tty-char \[tf] .\[md].
-.tty-char \[tf] .:.
+.tty-char \[tf] <therefore>
 .if c\[md] .tty-char \[3d] .\[md].
-.tty-char \[3d] .:.
+.tty-char \[3d] <therefore>
 .tty-char \[wp] p
 .tty-char \[~~] ~~
 .tty-char \[Fn] \z,f
@@ -144,7 +143,7 @@
 .tty-char \[lt] ,-
 .tty-char \[rt] -.
 .\" Latin characters
-.tty-char \[r!] \z,i
+.tty-char \[r!] !
 .tty-char \[Po] \z-L
 .tty-char \[Cs] \zox
 .tty-char \[Ye] \z=Y
@@ -153,16 +152,16 @@
 .tty-char \[Of] \z_a
 .tty-char \[Fo] <<
 .tty-char \[a-] \*[tty-rn]
-.tty-char \[S2] 2
-.tty-char \[S3] 3
-.tty-char \[ps] 9|
+.tty-char \[S2] ^2
+.tty-char \[S3] ^3
+.tty-char \[ps] <paragraph>
 .tty-char \[md] .
 .tty-char \[pc] .
 .tty-char \[ac] ,
-.tty-char \[S1] 1
+.tty-char \[S1] ^1
 .tty-char \[Om] \z_o
 .tty-char \[Fc] >>
-.tty-char \[r?] \z'c
+.tty-char \[r?] ?
 .tty-char \[`A] \z`A
 .tty-char \['A] \z'A
 .tty-char \[^A] \z^A
@@ -179,7 +178,7 @@
 .tty-char \['I] \z'I
 .tty-char \[^I] \z^I
 .tty-char \[:I] \z"I
-.tty-char \[-D] \z-D
+.tty-char \[-D] Dh
 .tty-char \[~N] \z~N
 .tty-char \[`O] \z`O
 .tty-char \['O] \z'O
@@ -192,7 +191,7 @@
 .tty-char \[^U] \z^U
 .tty-char \[:U] \z"U
 .tty-char \['Y] \z'Y
-.tty-char \[TP] \zIb
+.tty-char \[TP] Th
 .tty-char \[`a] \z`a
 .tty-char \['a] \z'a
 .tty-char \[^a] \z^a
@@ -209,7 +208,7 @@
 .tty-char \['i] \z'i
 .tty-char \[^i] \z^i
 .tty-char \[:i] \z"i
-.tty-char \[Sd] \z`\z'o
+.tty-char \[Sd] dh
 .tty-char \[~n] \z~n
 .tty-char \[`o] \z`o
 .tty-char \['o] \z'o
@@ -222,7 +221,7 @@
 .tty-char \[^u] \z^u
 .tty-char \[:u] \z"u
 .tty-char \['y] \z'y
-.tty-char \[Tp] \zpb
+.tty-char \[Tp] th
 .tty-char \[:y] \z"y
 .\" for Turkish
 .tty-char "\[G ab]" G
@@ -230,7 +229,7 @@
 .tty-char "\[I .]" I
 .\"tty-char \[:y] \ij
 .tty-char \[arrowvertex] |
-.tty-char \[mc] \z,u
+.tty-char \[mc] <micro>
 .cp \n[_C]
 .
 .ie '\*(.T'cp1047' \



reply via email to

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