My patch to render mathematical symbols and greek letters intelligibly

in ASCII output finally got committed upstream.  Use it in OpenBSD
right away, such that related work on mandoc can proceed.
Maybe we can even improve libm documentation before release.
This commit is contained in:
schwarze 2017-08-22 23:28:52 +00:00
parent a7a5775b0f
commit 93e607fd55
2 changed files with 270 additions and 2 deletions

View File

@ -1,10 +1,10 @@
# $OpenBSD: Makefile,v 1.37 2017/07/26 22:45:30 sthen Exp $
# $OpenBSD: Makefile,v 1.38 2017/08/22 23:28:52 schwarze Exp $
COMMENT = GNU troff typesetter
VERSION = 1.22.3
SUBST_VARS = VERSION
DISTNAME = groff-${VERSION}
REVISION = 7
REVISION = 8
CATEGORIES = textproc
DPB_PROPERTIES = parallel

View File

@ -0,0 +1,268 @@
$OpenBSD: patch-tmac_tty-char_tmac,v 1.1 2017/08/22 23:28:52 schwarze Exp $
Intelligible ASCII rendering of mathematical symbols and greek letters.
Accepted and committed upstream.
Index: tmac/tty-char.tmac
--- tmac/tty-char.tmac.orig
+++ 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' \