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' \