deri pushed a commit to branch master
in repository groff.

commit ac5901a0c6156e72283f36391c89456e0053b102
Author: Deri James <[email protected]>
AuthorDate: Tue Jul 1 02:08:10 2025 +0100

    [gropdf] Changes for greek glyphs
    
    * src/devices/gropdf/gropdf.pl (Clean): More permissive re
    to allow for \(+h etc.
    (Loadfont): Cater for (unintentional?) change to afmtodit
    output format by GBR. Handle duplicate font entries more
    sanely - keep first entry and preserve duplicate so it can
    be used with \N'nnn' the same as unnamed ("---") glyphs.
    Not ideal but forced compromise because groff uses decomposed
    unicode names which can lead to duplicate entries.
---
 ChangeLog                    | 13 +++++++++++++
 src/devices/gropdf/gropdf.pl |  4 +++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index c3a59cc64..70e95528b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2025-07-01  Deri James  <[email protected]>
+
+       [gropdf] Changes for greek glyphs
+
+       * src/devices/gropdf/gropdf.pl (Clean): More permissive re
+       to allow for \(+h etc.
+       (Loadfont): Cater for (unintentional?) change to afmtodit
+       output format by GBR. Handle duplicate font entries more
+       sanely - keep first entry and preserve duplicate so it can
+       be used with \N'nnn' the same as unnamed ("---") glyphs.
+       Not ideal but forced compromise because groff uses decomposed
+       unicode names which can lead to duplicate entries.
+
 2025-06-28  G. Branden Robinson <[email protected]>
 
        [troff]: Add experimental, undocumented global node dumping
diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl
index 679ba83f7..74e73f07f 100644
--- a/src/devices/gropdf/gropdf.pl
+++ b/src/devices/gropdf/gropdf.pl
@@ -2106,7 +2106,7 @@ sub Clean
     $p=~s/\\[FfgkMmnVY]$parclntyp//g;
     $p=~s/\\[hs][-+]?$parclntyp//g;
 
-    $p=~s/\\\((\w\w)/\\\[$1\]/g;       # convert \(xx to \[xx]
+    $p=~s/\\\((..)/\\\[$1\]/g; # convert \(xx to \[xx]
 
     return $p;
 }
@@ -3452,6 +3452,8 @@ sub LoadFont
 
            $r[3]=oct($r[3]) if substr($r[3],0,1) eq '0';
            $r[4]=$r[0] if !defined($r[4]);
+           $r[6]=$1 if !defined($r[6] and defined($r[5]) and $r[5]=~m/^-- 
([0-9A-F]{4})/);
+           $r[0]="#$r[3]" if exists($fnt{NAM}->{$r[0]});
            $fnt{NAM}->{$r[0]}=[$p[0],$r[3],'/'.$r[4],undef,undef,$r[6]];
            $fnt{NO}->[$r[3]]=$r[0];
            $lastnm=$r[0];

_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit

Reply via email to