Follow-up Comment #6, bug #67244 (group groff):

Recategorizing to "General".  See below.

[comment #5 comment #5:]

> If text.map is altered so that it no longer includes greek maths symbols,

I've done this in my working copy.


commit 7c1df4e3571a60d2921f477d8f17c952bf51336e
Author:     G. Branden Robinson <g.branden.robin...@gmail.com>
AuthorDate: Thu Jun 26 00:35:14 2025 -0500
Commit:     G. Branden Robinson <g.branden.robin...@gmail.com>
CommitDate: Fri Jun 27 21:51:05 2025 -0500

    [devps]: Fix Savannah #67244 (2/x).
    
    * font/devps/generate/text.map: Drop all mappings of symbolic/
      mathematical/unstyled Greek special characters `*[A-Za-z]` to
      PostScript glyph names.  As noted above, such mappings are not
      appropriate for text fonts, which (typically) have multiple styles
      available.

diff --git a/font/devps/generate/text.map b/font/devps/generate/text.map
index 31c45365f..ac8222953 100644
--- a/font/devps/generate/text.map
+++ b/font/devps/generate/text.map
@@ -20,8 +20,6 @@ AE AE
 agrave `a
 Agrave `A
 aleph Ah
-alpha *a
-Alpha *A
 ampersand &
 angle /_
 angleleft la
@@ -57,8 +55,6 @@ bar |
 bar ba
 b b
 B B
-beta *b
-Beta *B
 braceex barex
 braceex braceex
 braceex braceleftex
@@ -108,8 +104,6 @@ Ccedilla ,C
 cedilla ac
 cent ct
 checkmark OK
-chi *x
-Chi *X
 circle ci
 circlemultiply c*
 circleplus c+
@@ -126,8 +120,6 @@ dagger dg
 d d
 D D
 degree de
-delta *d
-Delta *D
 diamond DI
 dieresis ad
 divide tdi
@@ -152,12 +144,8 @@ element mo
 emdash em
 emptyset es
 endash en
-epsilon *e
-Epsilon *E
 equal =
 equivalence ==
-eta *y
-Eta *Y
 Eth -D
 eth Sd
 Euro Eu
@@ -176,8 +164,6 @@ fl fl
 florin Fn
 four 4
 fraction f/
-gamma *g
-Gamma *G
 germandbls ss
 g g
 G G
@@ -214,16 +200,10 @@ integralex u23AE
 integral integral
 integral is
 intersection ca
-iota *i
-Iota *I
 j j
 J J
-kappa *k
-Kappa *K
 k k
 K K
-lambda *l
-Lambda *L
 less <
 lessequal <=
 l l
@@ -241,8 +221,6 @@ m m
 M M
 mu1 mc
 multiply tmu
-mu *m
-Mu *M
 nine 9
 n n
 N N
@@ -253,8 +231,6 @@ ntilde ~n
 Ntilde ~N
 numbersign #
 numbersign sh
-nu *n
-Nu *N
 oacute 'o
 Oacute 'O
 ocircumflex ^o
@@ -267,10 +243,6 @@ ogonek ho
 ograve `o
 Ograve `O
 omega1 +p
-omega *w
-Omega *W
-omicron *o
-Omicron *O
 one 1
 oneeighth 18
 onehalf 12
@@ -301,10 +273,6 @@ periodcentered pc
 perpendicular pp
 perthousand %0
 phi1 +f
-phi *f
-Phi *F
-pi *p
-Pi *P
 plus +
 plusminus t+-
 p p
@@ -313,8 +281,6 @@ product product
 propersubset sb
 propersuperset sp
 proportional pt
-psi *q
-Psi *Q
 q q
 Q Q
 question ?
@@ -337,8 +303,6 @@ reflexsubset ib
 reflexsuperset ip
 registered rg
 Rfraktur Re
-rho *r
-Rho *R
 ring ao
 r r
 R R
@@ -351,8 +315,6 @@ seven 7
 seveneighths 78
 SF110000 br
 sigma1 ts
-sigma *s
-Sigma *S
 similar ap
 six 6
 slash /
@@ -363,13 +325,9 @@ S S
 sterling Po
 suchthat st
 summation sum
-tau *t
-Tau *T
 therefore 3d
 therefore tf
 theta1 +h
-theta *h
-Theta *H
 thorn Tp
 Thorn TP
 three 3
@@ -407,8 +365,6 @@ uni25A1 sq
 uni261C lh
 union cu
 universal fa
-upsilon *u
-Upsilon *U
 u u
 U U
 v v
@@ -416,8 +372,6 @@ V V
 weierstrass wp
 w w
 W W
-xi *c
-Xi *C
 x x
 X X
 yacute 'y
@@ -430,7 +384,5 @@ Y Y
 zcaron vz
 Zcaron vZ
 zero 0
-zeta *z
-Zeta *Z
 z z
 Z Z


...and used a _sed_(1) script to alter the styled font description files in
_font/devps_.


commit 0281873cad60b7252b84ab7246e7bfdcd7920634
Author:     G. Branden Robinson <g.branden.robin...@gmail.com>
AuthorDate: Thu Jun 26 00:26:15 2025 -0500
Commit:     G. Branden Robinson <g.branden.robin...@gmail.com>
CommitDate: Fri Jun 27 21:51:02 2025 -0500

    [devps]: Fix Savannah #67244 (1/x).
    
    * font/devps/AB:
    * font/devps/ABI:
    * font/devps/AI:
    * font/devps/AR:
    * font/devps/BMB:
    * font/devps/BMBI:
    * font/devps/BMI:
    * font/devps/BMR:
    * font/devps/CB:
    * font/devps/CBI:
    * font/devps/CI:
    * font/devps/CR:
    * font/devps/HB:
    * font/devps/HBI:
    * font/devps/HI:
    * font/devps/HNB:
    * font/devps/HNBI:
    * font/devps/HNI:
    * font/devps/HNR:
    * font/devps/HR:
    * font/devps/NB:
    * font/devps/NBI:
    * font/devps/NI:
    * font/devps/NR:
    * font/devps/PB:
    * font/devps/PBI:
    * font/devps/PI:
    * font/devps/PR:
    * font/devps/TB:
    * font/devps/TBI:
    * font/devps/TI:
    * font/devps/TR:
    * font/devps/ZCMI: Replace/rename entry for `*m` glyph to `mc`, removing
      `mc` as an alias thereof; annotate the corresponding code point as
      U+00B5, not U+03BC.  The micro sign (groff: \[mc]) is a styled glyph
      often found in text faces.  `*m` is an unstyled, but traditionally
      slanted, lowercase Greek mu used overwhelmingly in mathematical or
      scientific typesetting contexts.  It is not appropriate for setting
      the modern Greek language.
    
    * font/devps/generate/symbol.map:
    * font/devps/generate/text.map: Remove spurious mappings of groff's
      `\[mc]` to PostScript's `mu`.  This prevents afmtodit(1) from
      resurrecting the aforementioned problem, though for unrelated reasons
      we don't regenerate the font description files for grops(1) when
      building groff--we should, someday.  (Among other manual changes, we
      added kerning pairs; see Savannah #58897.)
diff --git a/font/devps/AB b/font/devps/AB
index 8a40b7694..769d36535 100644
--- a/font/devps/AB
+++ b/font/devps/AB
@@ -621,8 +621,7 @@ t+- 600,556,62      0       177     plusminus       --
 00B1
 S2     336,749 2       178     twosuperior     --      00B2
 S3     336,749 2       179     threesuperior   --      00B3
 aa     420,851 2       180     acute   --      00B4
-*m     600,555,192     1       181     mu      --      03BC
-mc     "
+mc     600,555,192     1       181     mu      --      00B5
 ps     600,740,103,7,7 2       182     paragraph       --      00B6
 pc     280,320 0       183     periodcentered  --      00B7
 ac     340,6,251       1       184     cedilla --      00B8
diff --git a/font/devps/ABI b/font/devps/ABI
index 5bf3b959c..c08b18e9d 100644
--- a/font/devps/ABI
+++ b/font/devps/ABI
@@ -622,8 +622,7 @@ t+- 600,556,62,77,14,77     0       177     plusminus
 --      00B1
 S2     336,749,0,150,-22,82    2       178     twosuperior     --      00B2
 S3     336,749,0,128,-37,82    2       179     threesuperior   --      00B3
 aa     420,851,0,137,-171,82   2       180     acute   --      00B4
-*m     600,555,192,97,36,82    1       181     mu      --      03BC
-mc     "
+mc     600,555,192,97,36,82    1       181     mu      --      00B5
 ps     600,740,103,195,-39,82  2       182     paragraph       --      00B6
 pc     280,320,0,36,-57,36     0       183     periodcentered  --      00B7
 ac     340,6,251,0,-16 1       184     cedilla --      00B8
[et cetera]


That produces good results; see my attachment in bug #67234.

> the 
> greek letters in TINOR would all have uXXXX names when afmtodit is run. But 
> groff changes preconv's \[uXXXX] input to greek symbol names. All the "C*?" 
> calls should be "Cu03XX" calls, groff should only output C*? if the input
> was 
> \[*?], i.e. either eqn wants the maths symbol or the user has specifically 
> typed \[*?] because he wants it. 

Yes.  This the fault of the "uniglyph.cpp" files in _libgroff_, hence the
recategorization.

I've made the following change.


diff --git a/src/libs/libgroff/uniglyph.cpp b/src/libs/libgroff/uniglyph.cpp
index 25480cc1f..c6b54ed24 100644
--- a/src/libs/libgroff/uniglyph.cpp
+++ b/src/libs/libgroff/uniglyph.cpp
@@ -280,59 +280,6 @@ struct S {
   { "02DA", "ao" },
   { "02DB", "ho" },
   { "02DD", "a\"" },
-  { "0391", "*A" },
-  { "0392", "*B" },
-  { "0393", "*G" },
-  { "0394", "*D" },
-  { "0395", "*E" },
-  { "0396", "*Z" },
-  { "0397", "*Y" },
-  { "0398", "*H" },
-  { "0399", "*I" },
-  { "039A", "*K" },
-  { "039B", "*L" },
-  { "039C", "*M" },
-  { "039D", "*N" },
-  { "039E", "*C" },
-  { "039F", "*O" },
-  { "03A0", "*P" },
-  { "03A1", "*R" },
-  { "03A3", "*S" },
-  { "03A4", "*T" },
-  { "03A5", "*U" },
-  { "03A6", "*F" },
-  { "03A7", "*X" },
-  { "03A8", "*Q" },
-  { "03A9", "*W" },
-  { "03B1", "*a" },
-  { "03B2", "*b" },
-  { "03B3", "*g" },
-  { "03B4", "*d" },
-  { "03B5", "*e" },
-  { "03B6", "*z" },
-  { "03B7", "*y" },
-  { "03B8", "*h" },
-  { "03B9", "*i" },
-  { "03BA", "*k" },
-  { "03BB", "*l" },
-  { "03BC", "*m" },
-  { "03BD", "*n" },
-  { "03BE", "*c" },
-  { "03BF", "*o" },
-  { "03C0", "*p" },
-  { "03C1", "*r" },
-  { "03C2", "ts" },
-  { "03C3", "*s" },
-  { "03C4", "*t" },
-  { "03C5", "*u" },
-  { "03C6", "+f" },
-  { "03C7", "*x" },
-  { "03C8", "*q" },
-  { "03C9", "*w" },
-  { "03D1", "+h" },
-  { "03D5", "*f" },
-  { "03D6", "+p" },
-  { "03F5", "+e" },
 //{ "2010", "-" },
   { "2010", "hy" },
   { "2013", "en" },


> For the benefit of our greek users, who this change will affect, it would be
> 
> nice to include a sed script (in NEWS?) which patches any font they have 
> installed themselves,

Hmm, yeah, good idea.  I wonder if I still have my _sed_ script in the shell
history of a still-open terminal window...

[time passes]

Seems not. :-/

After my changes above, the _only_ font descriptions that contain special
character/glyph declarations matching `*[A-Za-z]` are `SS` and `S`.  The
Unicode code point associations in the latter are arguably wrong.  Maybe?
Unicode has a different problem to solve here.  I don't recall them having a
distinct code point for **every** Greek letter, in both cases, when employed
for "technical" writing.

> or perhaps a recommendation they re-run afmtodit on any 
> self installed fonts.

Since historically _afmtodit_ did not record in the generated file how it was
run (with what options, for example)[1], that sounds like an avenue to
frustration.  Might be better to advise hand-editing.

[1] But it will in _groff_ 1.24.0.


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?67244>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to