summaryrefslogtreecommitdiffstats
path: root/font/devps/generate/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'font/devps/generate/Makefile')
-rw-r--r--font/devps/generate/Makefile314
1 files changed, 314 insertions, 0 deletions
diff --git a/font/devps/generate/Makefile b/font/devps/generate/Makefile
new file mode 100644
index 0000000..0eba6b1
--- /dev/null
+++ b/font/devps/generate/Makefile
@@ -0,0 +1,314 @@
+# Copyright (C) 1989-2022 Free Software Foundation, Inc.
+# Written by James Clark (jjc@jclark.com)
+#
+# This file is part of groff.
+#
+# groff is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# groff is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# This is set up so you can do
+# make -f generate/Makefile
+# in the parent directory of this directory.
+
+# The following line is required for DOS/Windows systems, since
+# this Makefile needs a Unixy shell to run.
+SHELL = /bin/sh
+
+# 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
+
+# Write font descriptions to this directory.
+outdir=$(srcdir)/..
+
+# The symbol font which fits to 'Symbol.afm'. For the creation of
+# 'symbolsl.afm' we need the 'printafm' script from ghostscript.
+symbolfont=/usr/local/lib/fonts/Symbol.pfb
+
+PRINTAFM=printafm
+
+srcdir=generate
+
+SPECIALFONTS=S
+DINGBATSFONTS=ZD ZDR
+GREEKFONTS=SS
+TEXTFONTS=AB ABI AI AR \
+ BMB BMBI BMI BMR \
+ CB CBI CI CR \
+ HB HBI HI HR \
+ HNB HNBI HNI HNR \
+ NB NBI NI NR \
+ PB PBI PI PR \
+ TB TBI TI TR \
+ ZCMI
+
+FONTS=$(TEXTFONTS) $(SPECIALFONTS) $(GREEKFONTS) $(DINGBATSFONTS) EURO
+
+DESC=$(srcdir)/../DESC
+AFMTODIT=afmtodit -c -d$(DESC)
+IFLAG=-i 50
+RFLAG=-i 0 -m
+NOLIGFLAG=-n
+TEXTENC=$(srcdir)/../text.enc
+EFLAG=-e $(TEXTENC)
+TEXTMAP=$(srcdir)/text.map
+AFMNAME=$(srcdir)/afmname
+
+RM=rm -f
+
+all: $(FONTS)
+
+TR:
+ $(AFMTODIT) $(EFLAG) $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/Times-Roman.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+TB:
+ $(AFMTODIT) $(EFLAG) $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/Times-Bold.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+TI:
+ $(AFMTODIT) $(EFLAG) $(IFLAG) -a 7 \
+ `$(AFMNAME) $(afmdir)/Times-Italic.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+TBI:
+ $(AFMTODIT) $(EFLAG) $(IFLAG) \
+ `$(AFMNAME) $(afmdir)/Times-BoldItalic.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+HR:
+ $(AFMTODIT) $(EFLAG) $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/Helvetica.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+HB:
+ $(AFMTODIT) $(EFLAG) $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/Helvetica-Bold.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+HI:
+ $(AFMTODIT) $(EFLAG) $(IFLAG) \
+ `$(AFMNAME) $(afmdir)/Helvetica-Oblique.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+HBI:
+ $(AFMTODIT) $(EFLAG) $(IFLAG) \
+ `$(AFMNAME) $(afmdir)/Helvetica-BoldOblique.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+CR:
+ $(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/Courier.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+CB:
+ $(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/Courier-Bold.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+CI:
+ $(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(IFLAG) \
+ `$(AFMNAME) $(afmdir)/Courier-Oblique.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+CBI:
+ $(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(IFLAG) \
+ `$(AFMNAME) $(afmdir)/Courier-BoldOblique.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+PR:
+ $(AFMTODIT) $(EFLAG) $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/Palatino-Roman.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+PB:
+ $(AFMTODIT) $(EFLAG) $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/Palatino-Bold.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+PI:
+ $(AFMTODIT) $(EFLAG) $(IFLAG) \
+ `$(AFMNAME) $(afmdir)/Palatino-Italic.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+PBI:
+ $(AFMTODIT) $(EFLAG) $(IFLAG) \
+ `$(AFMNAME) $(afmdir)/Palatino-BoldItalic.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+NR:
+ $(AFMTODIT) $(EFLAG) $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/NewCenturySchlbk-Roman.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+NB:
+ $(AFMTODIT) $(EFLAG) $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/NewCenturySchlbk-Bold.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+NI:
+ $(AFMTODIT) $(EFLAG) $(IFLAG) \
+ `$(AFMNAME) $(afmdir)/NewCenturySchlbk-Italic.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+NBI:
+ $(AFMTODIT) $(EFLAG) $(IFLAG) \
+ `$(AFMNAME) $(afmdir)/NewCenturySchlbk-BoldItalic.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+BMR:
+ $(AFMTODIT) $(EFLAG) $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/Bookman-Light.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+BMB:
+ $(AFMTODIT) $(EFLAG) $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/Bookman-Demi.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+BMI:
+ $(AFMTODIT) $(EFLAG) $(IFLAG) \
+ `$(AFMNAME) $(afmdir)/Bookman-LightItalic.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+BMBI:
+ $(AFMTODIT) $(EFLAG) $(IFLAG) \
+ `$(AFMNAME) $(afmdir)/Bookman-DemiItalic.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+AR:
+ $(AFMTODIT) $(EFLAG) $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/AvantGarde-Book.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+AB:
+ $(AFMTODIT) $(EFLAG) $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/AvantGarde-Demi.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+AI:
+ $(AFMTODIT) $(EFLAG) $(IFLAG) \
+ `$(AFMNAME) $(afmdir)/AvantGarde-BookOblique.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+ABI:
+ $(AFMTODIT) $(EFLAG) $(IFLAG) \
+ `$(AFMNAME) $(afmdir)/AvantGarde-DemiOblique.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+HNR:
+ $(AFMTODIT) $(EFLAG) $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/Helvetica-Narrow.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+HNB:
+ $(AFMTODIT) $(EFLAG) $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/Helvetica-Narrow-Bold.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+HNI:
+ $(AFMTODIT) $(EFLAG) $(IFLAG) \
+ `$(AFMNAME) $(afmdir)/Helvetica-Narrow-Oblique.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+HNBI:
+ $(AFMTODIT) $(EFLAG) $(IFLAG) \
+ `$(AFMNAME) $(afmdir)/Helvetica-Narrow-BoldOblique.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+ZCMI:
+ $(AFMTODIT) $(EFLAG) $(IFLAG) \
+ `$(AFMNAME) $(afmdir)/ZapfChancery-MediumItalic.afm` \
+ $(TEXTMAP) $(OUTDIR)/$@
+
+ZD:
+ $(AFMTODIT) -s $(RFLAG) \
+ `$(AFMNAME) $(afmdir)/ZapfDingbats.afm` \
+ $(srcdir)/dingbats.map $(OUTDIR)/$@
+
+SS: $(OUTDIR)/symbolsl.afm
+ $(AFMTODIT) -s -x $(IFLAG) \
+ $(OUTDIR)/symbolsl.afm $(srcdir)/slanted-symbol.map \
+ $(OUTDIR)/$@
+
+S: symbol.afm
+ $(AFMTODIT) -s $(RFLAG) \
+ symbol.afm $(srcdir)/symbol.map $(OUTDIR)/$@
+
+ZDR: $(OUTDIR)/zapfdr.afm
+ $(AFMTODIT) -s $(RFLAG) \
+ $(OUTDIR)/zapfdr.afm $(srcdir)/dingbats-reversed.map \
+ $(OUTDIR)/$@
+
+# the map is just a dummy
+EURO: freeeuro.afm
+ $(AFMTODIT) $(RFLAG) \
+ freeeuro.afm $(srcdir)/symbol.map $(OUTDIR)/$@
+
+freeeuro.afm freeeuro.pfa: $(srcdir)/freeeuro.sfd
+ fontforge -script $(srcdir)/sfdtopfa.pe $(srcdir)/freeeuro.sfd \
+ && mv freeeuro.afm freeeuro.pfa $(OUTDIR)
+
+symbol.afm: $(srcdir)/symbol.sed
+ sed -f $(srcdir)/symbol.sed `$(AFMNAME) $(afmdir)/Symbol.afm` \
+ >$(OUTDIR)/$@
+
+symbolsl.afm: $(srcdir)/symbolsl.awk $(srcdir)/../symbolsl.ps
+ $(RM) Fontmap \
+ && 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)/$@ \
+ && $(RM) Fontmap tmp.afm
+
+zapfdr.afm: $(srcdir)/apfdr.sed
+ sed -f $(srcdir)/zapfdr.sed \
+ `$(AFMNAME) $(afmdir)/ZapfDingbats.afm` >$(OUTDIR)/$@
+
+ZD: $(srcdir)/dingbats.map
+ZDR: $(srcdir)/dingbats-reversed.map
+$(TEXTFONTS): $(TEXTMAP) $(TEXTENC)
+$(SPECIALFONTS): $(srcdir)/symbol.map
+$(GREEKFONTS): $(srcdir)/slanted-symbol.map
+$(FONTS): $(DESC)
+
+$(srcdir)/symbol.map: $(TEXTMAP) $(srcdir)/symbolchars
+ printf \
+ '#\n# This is a list of all predefined groff symbols.\n#\n' \
+ > $(OUTDIR)/$@ \
+ && cat $(TEXTMAP) $(srcdir)/symbolchars >>$@
+
+clean:
+ cd $(OUTDIR) \
+ && $(RM) freeeuro.afm freeeuro.pfa symbol.afm \
+ $(srcdir)/symbol.map symbolsl.afm zapfdr.afm
+
+realclean: clean
+ cd $(OUTDIR) \
+ && $(RM) $(FONTS)
+
+extraclean: realclean
+ $(RM) core *~ "#*"
+
+.PHONY: all clean realclean extraclean
+
+# Local Variables:
+# mode: makefile
+# fill-column: 72
+# End:
+# vim: set textwidth=72: