# # Make new .tfm files for PostScript fonts, and appropriate # virtual font files # # Sebastian Rahtz January 1992, March 1992, May 1992, October 1992, # December 1992, March 1993, May 1993, July 1993 # new suffixes .SUFFIXES: .pfb .metrics .afm .ntfm .ctfm .otfm .dcntfm .dcctfm .dcotfm .stfm .cmq STANDARD= avantgarde.metrics bookman.metrics courier.metrics \ helvetica.metrics times.metrics palatino.metrics ncs.metrics \ symbol.metrics chancery.metrics dingbat.metrics OTHER= utopia.metrics \ mtimes.metrics \ perpetua.metrics \ imprint.metrics \ lucidabright.metrics \ univers.metrics \ garamond.metrics \ lucida.metrics \ lucsans.metrics \ bembo.metrics \ bemboexpert.metrics \ gill.metrics \ basker.metrics \ optima.metrics \ plantin.metrics # for a bsd-like unix CHMOD=-chmod 644 *.vf *.tfm LIBS=-lm CC=gcc CFLAGS= OBJSUFFIX=.o EXESUFFIX= RM=rm VFDIR=/usr/local/tex/lib/fonts/vf TFMDIR=/usr/local/tex/lib/fonts/tfm/ps # for MSDOS (assumes MSDOS already defined by compiler) #CC=cl #LIBS= #CFLAGS=-AL -DSYSV #OBJSUFFIX=.obj #EXESUFFIX=.exe #CHMOD= #RM=rm # where are the VF files to go? #VFDIR=d:\emtex\vf # and the TFM files? #TFMDIR=d:\emtex\tfm MAP=psfonts.new AF=afm2tfm SUPPORT=vpltovpl VF=vptovf ST=stfm # for DC-encoding (T1) NT=dcntfm # normal OT=dcotfm # slanted CT=dcctfm # smallcaps # for old-style encoding (OT1) #NT=ntfm #OT=otfm #CT=ctfm # --------------- rules -------------------- # No encoding at all .afm.stfm: $(AF) $*.afm $*.tfm >>$(MAP) # # these three rules generate old virtual fonts. # # normal file .afm.ntfm: $(AF) $(AFMPATH)$*.afm -v $*.vpl r$*.tfm vptovf $*.vpl $*.vf $*.tfm # small caps .afm.ctfm: $(AF) $(AFMPATH)$*.afm -V $*c.vpl r$*.tfm vptovf $*c.vpl $*c.vf $*c.tfm # slanted .afm.otfm: $(AF) $(AFMPATH)$*.afm -s .167 -v $*o.vpl r$*o.tfm vptovf $*o.vpl $*o.vf $*o.tfm #--------------------------------------------------------- # these three rules generate DC-style virtual fonts. # .afm.dcntfm: # normal dc $(AF) $(AFMPATH)$*.afm -T ec.enc -v $*q.vpl $*0.tfm >>$(MAP) -vpltovpl $*q.vpl $(AFMPATH)$*.afm vptovf $*q.vpl $*q.vf $*q.tfm # small caps dc .afm.dcctfm: $(AF) $(AFMPATH)$*.afm -T ec.enc -V $*cq.vpl $*0.tfm -vpltovpl $*cq.vpl $(AFMPATH)$*.afm vptovf $*cq.vpl $*cq.vf $*cq.tfm # slanted dc .afm.dcotfm: $(AF) $(AFMPATH)$*.afm -T ec.enc -s .167 -v $*oq.vpl $*o0.tfm >>$(MAP) -vpltovpl $*oq.vpl $(AFMPATH)$*.afm vptovf $*oq.vpl $*oq.vf $*oq.tfm # #---------------------------- # special case of CM Type 1 fonts to DC .afm.cmq: afm2tfm $*.afm -T ec.enc -v $*q.vpl $*0.tfm >>psfonts.map -vpltovpl $*q.vpl $*.afm S=`echo $B | sed 's/[A-z]*\([0-9]\)/\1/'` sed -e s/THISFONT/$*.afm/ < missing.tex \ | sed -e "s/SIZE/`echo $* \ | sed 's/[A-z]*\([0-9]\)/\1/'` pt/" > extras.tex # # we need to run qdtexvpl etc twice, as font doesn't exist on the first run # tex extras -qdtexvpl -d.01 extras.dvi extras.vpl tex extras -qdtexvpl -d.01 extras.dvi extras.vpl cat extras.vpl >> $*q.vpl vptovf $*q.vpl $*q.vf $*q.tfm #---------------------------- vpltovpl: vpltovpl.c $(CC) $(CFLAGS) vpltovpl.c -o vpltovpl$(EXE) $(LIBS) support: $(SUPPORT) #------------- # interesting targets standard: $(STANDARD) other: $(OTHER) avantgarde.metrics: \ pagko.$(NT) pagd.$(NT) pagdo.$(NT) pagk.$(OT) pagk.$(CT) pagk.$(NT) bookman.metrics: \ pbkdi.$(NT) pbkl.$(NT) pbkli.$(NT) pbkl.$(OT) pbkl.$(CT) pbkd.$(NT) courier.metrics: \ pcrb.$(NT) pcrbo.$(NT) pcrro.$(NT) pcrr.$(NT) pcrr.$(CT) helvetica.metrics: \ phvb.$(NT) phvbo.$(NT) phvro.$(NT) phvr.$(CT) phvr.$(NT) ncs.metrics: \ pncbi.$(NT) pncri.$(NT) pncr.$(NT) pncr.$(CT) pncr.$(OT) pncb.$(NT) palatino.metrics: \ pplbi.$(NT) pplri.$(NT) pplr.$(NT) pplr.$(OT) pplr.$(CT) pplb.$(NT) symbol.metrics: \ psyr.$(ST) times.metrics: \ ptmbi.$(NT) ptmri.$(NT) ptmr.$(NT) ptmrc.$(NT) ptmr.$(OT) ptmb.$(NT) chancery.metrics: \ pzcmi.$(NT) dingbat.metrics: \ pzdr.$(ST) garamond.metrics: \ pgmbi.$(NT) pgml.$(NT) pgmli.$(NT) pgml.$(CT) pgml.$(OT) pgmb.$(NT) lucida.metrics: \ plcb.$(NT) plcbi.$(NT) plcri.$(NT) plcr.$(CT) plcr.$(OT) plcr.$(NT) lucsans.metrics: \ plcbs.$(NT) plcbsi.$(NT) plcrsi.$(NT) plcrs.$(CT) plcrs.$(OT) plcrs.$(NT) bembo.metrics: \ pbeb.$(NT) pbebi.$(NT) pberi.$(NT) pber.$(OT) pber.$(CT) pber.$(NT) bemboexpert.metrics: \ pbebx.$(ST) pbebix.$(ST) pberix.$(ST) pberx.$(ST) gill.metrics: \ pgsb.$(NT) pgsbi.$(NT) pgsri.$(NT) pgsr.$(OT) pgsr.$(CT) pgsr.$(NT) basker.metrics: \ pnbbi.$(NT) pnbri.$(NT) pnbr.$(NT) pnbr.$(OT) pnbr.$(CT) pnbb.$(NT) optima.metrics: \ popb.$(NT) popbo.$(NT) popro.$(NT) popr.$(CT) popr.$(OT) popr.$(NT) utopia.metrics: \ putb.$(NT) putbi.$(NT) putri.$(NT) putr.$(CT) putr.$(OT) putr.$(NT) charter.metrics: bchb.$(NT) bchbi.$(NT) bchr.$(OT) bchr.$(CT) bchri.$(NT) bchr.$(NT) plantin.metrics: \ mpir.$(NT) mpiri.$(NT) mpib.$(NT) mpibi.$(NT) mpir.$(CT) perpetua.metrics: \ mppr.$(NT) mppri.$(NT) mppb.$(NT) mppbi.$(NT) mppr.$(CT) goudy.metrics: \ mgyr.$(NT) mgyri.$(NT) mgyb.$(NT) mgyrx.$(ST) mgyr.$(CT) bodoni.metrics: \ mbmr.$(NT) mbmri.$(NT) mbmb.$(NT) mbmbi.$(NT) mbmr.$(CT) imprint.metrics: \ mimr.$(NT) mimri.$(NT) mimb.$(NT) mimbi.$(NT) mimr.$(CT) mtimes.metrics: \ mntr.$(NT) mntri.$(NT) mntb.$(NT) mntbi.$(NT) mntrx.$(ST) mntr.$(OT) univers.metrics: \ punr.$(NT) punro.$(NT) punb.$(NT) punbo.$(NT) punr.$(CT) lucidabright.metrics: hlcbst.$(NT) \ hlcbsto.$(NT) \ hlcd4.$(NT) \ hlcdb.$(NT) \ hlcdb.$(CT) \ hlcdbi.$(NT) \ hlcdi4.$(NT) \ hlcds.$(NT) \ hlcdsi.$(NT) \ hlcr4.$(NT) \ hlcrb.$(NT) \ hlcrb.$(CT) \ hlcrbi.$(NT) \ hlcrbo.$(NT) \ hlcrf.$(NT) \ hlcrh.$(NT) \ hlcri4.$(NT) \ hlcriw.$(NT) \ hlcrs.$(CT) \ hlcrs.$(NT) \ hlcrs.$(OT) \ hlcrsi.$(NT) \ hlcrst.$(NT) \ hlcrst.$(OT) lucidamaths.metrics: hlcrba.$(NT) \ hlcrbi.$(NT) \ hlcrbm.$(NT) \ hlcrbma.$(NT) \ hlcrbv.$(NT) \ hlcrby.$(NT) install: $(CHMOD) -cp *.vf $(VFDIR) -cp *.tfm $(TFMDIR) clean: -$(RM) *.vpl -$(RM) *.vf -$(RM) *.tfm -$(RM) *.dvi -$(RM) *.aux -$(RM) *.log