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/
signature.asc
Description: PGP signature