Follow-up Comment #7, bug #66876 (group groff):

This took more frotzing than I cared for, but I think I've got it.

Example of use:


$ cd groff-HEAD/share/groff/1.23.0/font/devps
$ make -f generate/Makefile
afmtodit -c -d./DESC -e ./text.enc -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./AvantGarde-Demi.afm` \
  ./generate/text.map ./AB
afmtodit -c -d./DESC -e ./text.enc -i 50 \
  generate/`/bin/sh ./generate/afmname ./AvantGarde-DemiOblique.afm` \
  ./generate/text.map ./ABI
afmtodit -c -d./DESC -e ./text.enc -i 50 \
  generate/`/bin/sh ./generate/afmname ./AvantGarde-BookOblique.afm` \
  ./generate/text.map ./AI
afmtodit -c -d./DESC -e ./text.enc -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./AvantGarde-Book.afm` \
  ./generate/text.map ./AR
afmtodit -c -d./DESC -e ./text.enc -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./Bookman-Demi.afm` \
  ./generate/text.map ./BMB
afmtodit -c -d./DESC -e ./text.enc -i 50 \
  generate/`/bin/sh ./generate/afmname ./Bookman-DemiItalic.afm` \
  ./generate/text.map ./BMBI
afmtodit -c -d./DESC -e ./text.enc -i 50 \
  generate/`/bin/sh ./generate/afmname ./Bookman-LightItalic.afm` \
  ./generate/text.map ./BMI
afmtodit -c -d./DESC -e ./text.enc -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./Bookman-Light.afm` \
  ./generate/text.map ./BMR
afmtodit -c -d./DESC -n -e ./text.enc -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./Courier-Bold.afm` \
  ./generate/text.map ./CB
afmtodit -c -d./DESC -n -e ./text.enc -i 50 \
  generate/`/bin/sh ./generate/afmname ./Courier-BoldOblique.afm` \
  ./generate/text.map ./CBI
afmtodit -c -d./DESC -n -e ./text.enc -i 50 \
  generate/`/bin/sh ./generate/afmname ./Courier-Oblique.afm` \
  ./generate/text.map ./CI
afmtodit -c -d./DESC -n -e ./text.enc -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./Courier.afm` \
  ./generate/text.map ./CR
afmtodit -c -d./DESC -e ./text.enc -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./Helvetica-Bold.afm` \
  ./generate/text.map ./HB
afmtodit -c -d./DESC -e ./text.enc -i 50 \
  generate/`/bin/sh ./generate/afmname ./Helvetica-BoldOblique.afm` \
  ./generate/text.map ./HBI
afmtodit -c -d./DESC -e ./text.enc -i 50 \
  generate/`/bin/sh ./generate/afmname ./Helvetica-Oblique.afm` \
  ./generate/text.map ./HI
afmtodit -c -d./DESC -e ./text.enc -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./Helvetica.afm` \
  ./generate/text.map ./HR
afmtodit -c -d./DESC -e ./text.enc -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./Helvetica-Narrow-Bold.afm` \
  ./generate/text.map ./HNB
afmtodit -c -d./DESC -e ./text.enc -i 50 \
  generate/`/bin/sh ./generate/afmname ./Helvetica-Narrow-BoldOblique.afm` \
  ./generate/text.map ./HNBI
afmtodit -c -d./DESC -e ./text.enc -i 50 \
  generate/`/bin/sh ./generate/afmname ./Helvetica-Narrow-Oblique.afm` \
  ./generate/text.map ./HNI
afmtodit -c -d./DESC -e ./text.enc -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./Helvetica-Narrow.afm` \
  ./generate/text.map ./HNR
afmtodit -c -d./DESC -e ./text.enc -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./NewCenturySchlbk-Bold.afm` \
  ./generate/text.map ./NB
afmtodit -c -d./DESC -e ./text.enc -i 50 \
  generate/`/bin/sh ./generate/afmname ./NewCenturySchlbk-BoldItalic.afm` \
  ./generate/text.map ./NBI
afmtodit -c -d./DESC -e ./text.enc -i 50 \
  generate/`/bin/sh ./generate/afmname ./NewCenturySchlbk-Italic.afm` \
  ./generate/text.map ./NI
afmtodit -c -d./DESC -e ./text.enc -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./NewCenturySchlbk-Roman.afm` \
  ./generate/text.map ./NR
afmtodit -c -d./DESC -e ./text.enc -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./Palatino-Bold.afm` \
  ./generate/text.map ./PB
afmtodit -c -d./DESC -e ./text.enc -i 50 \
  generate/`/bin/sh ./generate/afmname ./Palatino-BoldItalic.afm` \
  ./generate/text.map ./PBI
afmtodit -c -d./DESC -e ./text.enc -i 50 \
  generate/`/bin/sh ./generate/afmname ./Palatino-Italic.afm` \
  ./generate/text.map ./PI
afmtodit -c -d./DESC -e ./text.enc -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./Palatino-Roman.afm` \
  ./generate/text.map ./PR
afmtodit -c -d./DESC -e ./text.enc -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./Times-Bold.afm` \
  ./generate/text.map ./TB
afmtodit -c -d./DESC -e ./text.enc -i 50 \
  generate/`/bin/sh ./generate/afmname ./Times-BoldItalic.afm` \
  ./generate/text.map ./TBI
afmtodit -c -d./DESC -e ./text.enc -i 50 -a 7 \
  generate/`/bin/sh ./generate/afmname ./Times-Italic.afm` \
  ./generate/text.map ./TI
afmtodit -c -d./DESC -e ./text.enc -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./Times-Roman.afm` \
  ./generate/text.map ./TR
afmtodit -c -d./DESC -e ./text.enc -i 50 \
  generate/`/bin/sh ./generate/afmname ./ZapfChancery-MediumItalic.afm` \
  ./generate/text.map ./ZCMI
afmtodit -c -d./DESC -s -i 0 -m \
  generate/symbol.afm ./generate/symbol.map ./S
rm -f Fontmap \
  && echo "/Symbol-Slanted (./symbolsl.ps) ;" \
> Fontmap \
  && echo "/Symbol         (/usr/local/lib/fonts/Symbol.pfb) ;" >> Fontmap \
  && printafm Symbol-Slanted > tmp.afm \
  && awk -f ./generate/symbolsl.awk -v SYMAFM=`/bin/sh ./generate/afmname \
    ./Symbol.afm` tmp.afm >generate/symbolsl.afm \
  && rm -f Fontmap tmp.afm
afmtodit -c -d./DESC -s -x -i 50 \
  ./generate/symbolsl.afm ./generate/slanted-symbol.map \
  ./SS
afmtodit -c -d./DESC -s -i 0 -m \
  generate/`/bin/sh ./generate/afmname ./ZapfDingbats.afm` \
  ./generate/dingbats.map ./ZD
sed -f ./generate/zapfdr.sed \
  generate/`/bin/sh ./generate/afmname ./ZapfDingbats.afm` >./zapfdr.afm
afmtodit -c -d./DESC -s -i 0 -m \
  zapfdr.afm ./generate/dingbats-reversed.map \
  ./ZDR
fontforge -script ./generate/sfdtopfa.pe ./generate/freeeuro.sfd \
  && if [ '.' != "." ]; then \
    mv freeeuro.pfa .; \
  fi
Copyright (c) 2000-2024. See AUTHORS for Contributors.
 License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
 with many parts BSD <http://fontforge.org/license.html>. Please read
LICENSE.
 Version: 20201107
 Based on sources from 2024-03-15 20:56 UTC-ML-D-GDK3.
PythonUI_Init()
copyUIMethodsToBaseTable()
afmtodit -c -d./DESC -i 0 -m \
  freeeuro.afm ./generate/symbol.map ./EURO


Here are the pending changes in my working copy.  There's ChangeLog/commit
message work still to do.


commit 4110d11333cb9787a103d8f246fe44bc14742886
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Mon Jun 30 02:16:42 2025 -0500

    XXX Ship metrics and more files for regenerating stuff.

diff --git a/font/devps/devps.am b/font/devps/devps.am
index eddf0420a..db70d3bcb 100644
--- a/font/devps/devps.am
+++ b/font/devps/devps.am
@@ -66,6 +66,7 @@ DEVPSFONTFILES = \
   font/devps/KOM \
   font/devps/freeeuro.afm \
   font/devps/symbolsl.afm \
+  font/devps/symbolsl.ps \
   font/devps/text.enc \
   font/devps/zapfdr.afm \
   font/devps/download
@@ -115,18 +116,60 @@ OLDDEVPSFONTFILES = \
 olddevpsfontdir = $(oldfontdir)/devps
 dist_olddevpsfont_DATA = $(OLDDEVPSFONTFILES)
 
+DEVPSMETRICSFILES = \
+  font/devps/generate/avangbk.afm \
+  font/devps/generate/avangbko.afm \
+  font/devps/generate/avangd.afm \
+  font/devps/generate/avangdo.afm \
+  font/devps/generate/bookmd.afm \
+  font/devps/generate/bookmdi.afm \
+  font/devps/generate/bookml.afm \
+  font/devps/generate/bookmli.afm \
+  font/devps/generate/couri.afm \
+  font/devps/generate/courib.afm \
+  font/devps/generate/couribo.afm \
+  font/devps/generate/courio.afm \
+  font/devps/generate/helve.afm \
+  font/devps/generate/helveb.afm \
+  font/devps/generate/helvebo.afm \
+  font/devps/generate/helven.afm \
+  font/devps/generate/helvenb.afm \
+  font/devps/generate/helvenbo.afm \
+  font/devps/generate/helveno.afm \
+  font/devps/generate/helveo.afm \
+  font/devps/generate/newcsb.afm \
+  font/devps/generate/newcsbi.afm \
+  font/devps/generate/newcsi.afm \
+  font/devps/generate/newcsr.afm \
+  font/devps/generate/palatb.afm \
+  font/devps/generate/palatbi.afm \
+  font/devps/generate/palati.afm \
+  font/devps/generate/palatr.afm \
+  font/devps/generate/symbol.afm \
+  font/devps/generate/timesb.afm \
+  font/devps/generate/timesbi.afm \
+  font/devps/generate/timesi.afm \
+  font/devps/generate/timesr.afm \
+  font/devps/generate/zapfcmi.afm \
+  font/devps/generate/zapfd.afm
+
 # Files installed in $(devfontdir)/generate
 DEVPSGENFILES = \
+  $(DEVPSMETRICSFILES) \
   font/devps/generate/Makefile \
-  font/devps/generate/dingbats.map \
   font/devps/generate/dingbats-reversed.map \
+  font/devps/generate/dingbats.map \
+  font/devps/generate/freeeuro.sfd \
+  font/devps/generate/sfdtopfa.pe \
   font/devps/generate/slanted-symbol.map \
   font/devps/generate/symbol.map \
   font/devps/generate/symbolchars \
+  font/devps/generate/symbolsl.awk \
   font/devps/generate/text.map
 DEVPSGENSCRIPTS = \
   font/devps/generate/afmname \
-  font/devps/generate/symbol.sed
+  font/devps/generate/symbol.sed \
+  font/devps/generate/zapfdr.sed
 devpsgendir = $(devpsfontdir)/generate
 dist_devpsgen_DATA = $(DEVPSGENFILES) $(DEVPSGENSCRIPTS)
 
[snipped addition of a bunch of AFM files]

commit 39ab33a51d6316d530fae7c96e78486bcb538132 (HEAD -> master)
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
Date:   Sun Jun 29 20:04:14 2025 -0500

    XXX font/devps/generate/Makefile

diff --git a/font/devps/generate/Makefile b/font/devps/generate/Makefile
index f3ecee4bc..67e92ac2b 100644
--- a/font/devps/generate/Makefile
+++ b/font/devps/generate/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1989-2022 Free Software Foundation, Inc.
+# Copyright (C) 1989-2025 Free Software Foundation, Inc.
 #      Written by James Clark (j...@jclark.com)
 #
 # This file is part of groff.
@@ -19,18 +19,31 @@
 # This is set up so you can do
 #   make -f generate/Makefile
 # in the parent directory of this directory.
+#
+# "This directory" must be an in-tree groff build directory or an
+# installation directory such as "/usr/share/groff/1.23.0/font/devps/".
+#
+# For example, here's how GBR (groff maintainer) ran it from an in-tree
+# build.
+#
+#   cd font/devps && make -fgenerate/Makefile AFMTODIT=../../afmtodit
+#
+# Setting `AFMTODIT` used the "afmtodit" program corresponding to the
+# groff build, not a (possibly old) version in $PATH.
 
 # The following line is required for DOS/Windows systems, since
 # this Makefile needs a Unixy shell to run.
 SHELL = /bin/sh
 
+srcdir=.
+
 # Directory containing AFM files.  Must not be current directory.
 # Either long names (e.g., Times-Roman.afm) or short names (e.g.,
 # timesr.afm) may be used. See the afmname script.
-afmdir=/usr/local/lib/afm
+afmdir=$(srcdir)
 
 # Write font descriptions to this directory.
-outdir=$(srcdir)/..
+outdir=.
 
 # The symbol font which fits to 'Symbol.afm'.  For the creation of
 # 'symbolsl.afm' we need the 'printafm' script from ghostscript.
@@ -38,8 +51,6 @@ symbolfont=/usr/local/lib/fonts/Symbol.pfb
 
 PRINTAFM=printafm
 
-srcdir=generate
-
 SPECIALFONTS=S
 DINGBATSFONTS=ZD ZDR
 GREEKFONTS=SS
@@ -55,251 +66,261 @@ TEXTFONTS=AB ABI AI AR \
 
 FONTS=$(TEXTFONTS) $(SPECIALFONTS) $(GREEKFONTS) $(DINGBATSFONTS) EURO
 
-DESC=$(srcdir)/../DESC
-AFMTODIT=afmtodit -c -d$(DESC)
+DESC=$(srcdir)/DESC
+AFMTODIT=afmtodit
+AFMFLAGS=-c -d$(DESC)
 IFLAG=-i 50
 RFLAG=-i 0 -m
 NOLIGFLAG=-n
-TEXTENC=$(srcdir)/../text.enc
+TEXTENC=$(srcdir)/text.enc
 EFLAG=-e $(TEXTENC)
-TEXTMAP=$(srcdir)/text.map
-AFMNAME=$(srcdir)/afmname
+TEXTMAP=$(srcdir)/generate/text.map
+SYMBOLMAP=$(srcdir)/generate/symbol.map
+SLANTEDSYMBOLMAP=$(srcdir)/generate/slanted-symbol.map
+AFMNAME=$(srcdir)/generate/afmname
 
 RM=rm -f
 
 all: $(FONTS)
 
 TR:
-       $(AFMTODIT) $(EFLAG) $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/Times-Roman.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Times-Roman.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 TB:
-       $(AFMTODIT) $(EFLAG) $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/Times-Bold.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Times-Bold.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 TI:
-       $(AFMTODIT) $(EFLAG) $(IFLAG) -a 7 \
-         `$(AFMNAME) $(afmdir)/Times-Italic.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(IFLAG) -a 7 \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Times-Italic.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 TBI:
-       $(AFMTODIT) $(EFLAG) $(IFLAG) \
-         `$(AFMNAME) $(afmdir)/Times-BoldItalic.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(IFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Times-BoldItalic.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 HR:
-       $(AFMTODIT) $(EFLAG) $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/Helvetica.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Helvetica.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 HB:
-       $(AFMTODIT) $(EFLAG) $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/Helvetica-Bold.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Helvetica-Bold.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 HI:
-       $(AFMTODIT) $(EFLAG) $(IFLAG) \
-         `$(AFMNAME) $(afmdir)/Helvetica-Oblique.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(IFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Helvetica-Oblique.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 HBI:
-       $(AFMTODIT) $(EFLAG) $(IFLAG) \
-         `$(AFMNAME) $(afmdir)/Helvetica-BoldOblique.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(IFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Helvetica-BoldOblique.afm`
\
+         $(TEXTMAP) $(outdir)/$@
 
 CR:
-       $(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/Courier.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(NOLIGFLAG) $(EFLAG) $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Courier.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 CB:
-       $(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/Courier-Bold.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(NOLIGFLAG) $(EFLAG) $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Courier-Bold.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 CI:
-       $(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(IFLAG) \
-         `$(AFMNAME) $(afmdir)/Courier-Oblique.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(NOLIGFLAG) $(EFLAG) $(IFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Courier-Oblique.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 CBI:
-       $(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(IFLAG) \
-         `$(AFMNAME) $(afmdir)/Courier-BoldOblique.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(NOLIGFLAG) $(EFLAG) $(IFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Courier-BoldOblique.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 PR:
-       $(AFMTODIT) $(EFLAG) $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/Palatino-Roman.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Palatino-Roman.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 PB:
-       $(AFMTODIT) $(EFLAG) $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/Palatino-Bold.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Palatino-Bold.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 PI:
-       $(AFMTODIT) $(EFLAG) $(IFLAG) \
-         `$(AFMNAME) $(afmdir)/Palatino-Italic.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(IFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Palatino-Italic.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 PBI:
-       $(AFMTODIT) $(EFLAG) $(IFLAG) \
-         `$(AFMNAME) $(afmdir)/Palatino-BoldItalic.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(IFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Palatino-BoldItalic.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 NR:
-       $(AFMTODIT) $(EFLAG) $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/NewCenturySchlbk-Roman.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/NewCenturySchlbk-Roman.afm`
\
+         $(TEXTMAP) $(outdir)/$@
 
 NB:
-       $(AFMTODIT) $(EFLAG) $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/NewCenturySchlbk-Bold.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/NewCenturySchlbk-Bold.afm`
\
+         $(TEXTMAP) $(outdir)/$@
 
 NI:
-       $(AFMTODIT) $(EFLAG) $(IFLAG) \
-         `$(AFMNAME) $(afmdir)/NewCenturySchlbk-Italic.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(IFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/NewCenturySchlbk-Italic.afm`
\
+         $(TEXTMAP) $(outdir)/$@
 
 NBI:
-       $(AFMTODIT) $(EFLAG) $(IFLAG) \
-         `$(AFMNAME) $(afmdir)/NewCenturySchlbk-BoldItalic.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(IFLAG) \
+         generate/`$(SHELL) $(AFMNAME)
$(afmdir)/NewCenturySchlbk-BoldItalic.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 BMR:
-       $(AFMTODIT) $(EFLAG) $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/Bookman-Light.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Bookman-Light.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 BMB:
-       $(AFMTODIT) $(EFLAG) $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/Bookman-Demi.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Bookman-Demi.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 BMI:
-       $(AFMTODIT) $(EFLAG) $(IFLAG) \
-         `$(AFMNAME) $(afmdir)/Bookman-LightItalic.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(IFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Bookman-LightItalic.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 BMBI:
-       $(AFMTODIT) $(EFLAG) $(IFLAG) \
-         `$(AFMNAME) $(afmdir)/Bookman-DemiItalic.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(IFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Bookman-DemiItalic.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 AR:
-       $(AFMTODIT) $(EFLAG) $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/AvantGarde-Book.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/AvantGarde-Book.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 AB:
-       $(AFMTODIT) $(EFLAG) $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/AvantGarde-Demi.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/AvantGarde-Demi.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 AI:
-       $(AFMTODIT) $(EFLAG) $(IFLAG) \
-         `$(AFMNAME) $(afmdir)/AvantGarde-BookOblique.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(IFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/AvantGarde-BookOblique.afm`
\
+         $(TEXTMAP) $(outdir)/$@
 
 ABI:
-       $(AFMTODIT) $(EFLAG) $(IFLAG) \
-         `$(AFMNAME) $(afmdir)/AvantGarde-DemiOblique.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(IFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/AvantGarde-DemiOblique.afm`
\
+         $(TEXTMAP) $(outdir)/$@
 
 HNR:
-       $(AFMTODIT) $(EFLAG) $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/Helvetica-Narrow.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Helvetica-Narrow.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 HNB:
-       $(AFMTODIT) $(EFLAG) $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/Helvetica-Narrow-Bold.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Helvetica-Narrow-Bold.afm`
\
+         $(TEXTMAP) $(outdir)/$@
 
 HNI:
-       $(AFMTODIT) $(EFLAG) $(IFLAG) \
-         `$(AFMNAME) $(afmdir)/Helvetica-Narrow-Oblique.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(IFLAG) \
+         generate/`$(SHELL) $(AFMNAME)
$(afmdir)/Helvetica-Narrow-Oblique.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 HNBI:
-       $(AFMTODIT) $(EFLAG) $(IFLAG) \
-         `$(AFMNAME) $(afmdir)/Helvetica-Narrow-BoldOblique.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(IFLAG) \
+         generate/`$(SHELL) $(AFMNAME)
$(afmdir)/Helvetica-Narrow-BoldOblique.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 ZCMI:
-       $(AFMTODIT) $(EFLAG) $(IFLAG) \
-         `$(AFMNAME) $(afmdir)/ZapfChancery-MediumItalic.afm` \
-         $(TEXTMAP) $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(EFLAG) $(IFLAG) \
+         generate/`$(SHELL) $(AFMNAME)
$(afmdir)/ZapfChancery-MediumItalic.afm` \
+         $(TEXTMAP) $(outdir)/$@
 
 ZD:
-       $(AFMTODIT) -s $(RFLAG) \
-         `$(AFMNAME) $(afmdir)/ZapfDingbats.afm` \
-         $(srcdir)/dingbats.map $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) -s $(RFLAG) \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/ZapfDingbats.afm` \
+         $(srcdir)/generate/dingbats.map $(outdir)/$@
 
-SS: $(OUTDIR)/symbolsl.afm
-       $(AFMTODIT) -s -x $(IFLAG) \
-         $(OUTDIR)/symbolsl.afm $(srcdir)/slanted-symbol.map \
-         $(OUTDIR)/$@
+SS: $(srcdir)/generate/symbolsl.afm
+       $(AFMTODIT) $(AFMFLAGS) -s -x $(IFLAG) \
+         $(srcdir)/generate/symbolsl.afm $(SLANTEDSYMBOLMAP) \
+         $(outdir)/$@
 
-S: symbol.afm
-       $(AFMTODIT) -s $(RFLAG) \
-         symbol.afm $(srcdir)/symbol.map $(OUTDIR)/$@
+S: generate/symbol.afm
+       $(AFMTODIT) $(AFMFLAGS) -s $(RFLAG) \
+         generate/symbol.afm $(SYMBOLMAP) $(outdir)/$@
 
-ZDR: $(OUTDIR)/zapfdr.afm
-       $(AFMTODIT) -s $(RFLAG) \
-         $(OUTDIR)/zapfdr.afm $(srcdir)/dingbats-reversed.map \
-         $(OUTDIR)/$@
+ZDR: zapfdr.afm
+       $(AFMTODIT) $(AFMFLAGS) -s $(RFLAG) \
+         zapfdr.afm $(srcdir)/generate/dingbats-reversed.map \
+         $(outdir)/$@
 
 # the map is just a dummy
 EURO: freeeuro.afm
-       $(AFMTODIT) $(RFLAG) \
-         freeeuro.afm $(srcdir)/symbol.map $(OUTDIR)/$@
+       $(AFMTODIT) $(AFMFLAGS) $(RFLAG) \
+         freeeuro.afm $(SYMBOLMAP) $(outdir)/$@
 
-freeeuro.afm freeeuro.pfa: $(srcdir)/freeeuro.sfd
-       fontforge -script $(srcdir)/sfdtopfa.pe $(srcdir)/freeeuro.sfd \
-         && mv freeeuro.afm freeeuro.pfa $(OUTDIR)
+freeeuro.afm freeeuro.pfa: $(srcdir)/generate/sfdtopfa.pe
$(srcdir)/generate/freeeuro.sfd
+       fontforge -script $(srcdir)/generate/sfdtopfa.pe
$(srcdir)/generate/freeeuro.sfd \
+         && if [ '.' != "$(outdir)" ]; then \
+           mv freeeuro.pfa $(outdir); \
+         fi
 
-symbol.afm: $(srcdir)/symbol.sed
-       sed -f $(srcdir)/symbol.sed `$(AFMNAME) $(afmdir)/Symbol.afm` \
-         >$(OUTDIR)/$@
+symbol.afm: $(srcdir)/generate/symbol.sed
+       sed -f $(srcdir)/generate/symbol.sed \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/Symbol.afm` \
+         >$(outdir)/$@
 
-symbolsl.afm: $(srcdir)/symbolsl.awk $(srcdir)/../symbolsl.ps
+generate/symbolsl.afm: $(srcdir)/generate/symbolsl.awk $(srcdir)/symbolsl.ps
        $(RM) Fontmap \
-         && echo "/Symbol-Slanted ($(srcdir)/../symbolsl.ps) ;" \
+         && echo "/Symbol-Slanted ($(srcdir)/symbolsl.ps) ;" \
> Fontmap \
          && echo "/Symbol         ($(symbolfont)) ;" >> Fontmap \
          && $(PRINTAFM) Symbol-Slanted > tmp.afm \
-         && awk -f $(srcdir)/symbolsl.awk -v SYMAFM=`$(AFMNAME) \
-           $(afmdir)/Symbol.afm` tmp.afm >$(OUTDIR)/$@ \
+         && awk -f $(srcdir)/generate/symbolsl.awk -v SYMAFM=`$(SHELL)
$(AFMNAME) \
+           $(afmdir)/Symbol.afm` tmp.afm >$@ \
          && $(RM) Fontmap tmp.afm
 
-zapfdr.afm: $(srcdir)/zapfdr.sed
-       sed -f $(srcdir)/zapfdr.sed \
-         `$(AFMNAME) $(afmdir)/ZapfDingbats.afm` >$(OUTDIR)/$@
+zapfdr.afm: $(srcdir)/generate/zapfdr.sed
+       sed -f $(srcdir)/generate/zapfdr.sed \
+         generate/`$(SHELL) $(AFMNAME) $(afmdir)/ZapfDingbats.afm`
>$(outdir)/$@
 
-ZD: $(srcdir)/dingbats.map
-ZDR: $(srcdir)/dingbats-reversed.map
+ZD: $(srcdir)/generate/dingbats.map
+ZDR: $(srcdir)/generate/dingbats-reversed.map
 $(TEXTFONTS): $(TEXTMAP) $(TEXTENC)
-$(SPECIALFONTS): $(srcdir)/symbol.map
-$(GREEKFONTS): $(srcdir)/slanted-symbol.map
+$(SPECIALFONTS): $(SYMBOLMAP)
+$(GREEKFONTS): $(SLANTEDSYMBOLMAP)
 $(FONTS): $(DESC)
 
-$(srcdir)/symbol.map: $(TEXTMAP) $(srcdir)/symbolchars
-       printf \
-         '#\n# This is a list of all predefined groff symbols.\n#\n' \
-         > $(OUTDIR)/$@ \
+$(SYMBOLMAP): $(TEXTMAP) $(srcdir)/generate/symbolchars
+       echo '#' >$@ \
+         && echo '# Map between PostScript glyph names and groff character
identifiers' >>$@ \
+         && echo '# (ordinary ones have a one-character name; special
character names are' >>$@ \
+         && echo '# longer).' >>$@ \
+         && echo '#' >>$@ \
+         && echo '# Use this map with the (unstyled) Symbol font.' >>$@ \
+         && echo '#' >>$@ \
          && cat $(TEXTMAP) $(srcdir)/symbolchars >>$@
 
 clean:
-       cd $(OUTDIR) \
+       cd $(outdir) \
          && $(RM) freeeuro.afm freeeuro.pfa symbol.afm \
-           $(srcdir)/symbol.map symbolsl.afm zapfdr.afm
+           $(SYMBOLMAP) symbolsl.afm zapfdr.afm
 
 realclean: clean
-       cd $(OUTDIR) \
+       cd $(outdir) \
          && $(RM) $(FONTS)
 
 extraclean: realclean




    _______________________________________________________

Reply to this item at:

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

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

Attachment: signature.asc
Description: PGP signature

Reply via email to