diff options
Diffstat (limited to 'Master/texmf-dist/doc/fonts/modes/GNUmakefile')
-rw-r--r-- | Master/texmf-dist/doc/fonts/modes/GNUmakefile | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fonts/modes/GNUmakefile b/Master/texmf-dist/doc/fonts/modes/GNUmakefile new file mode 100644 index 00000000000..b7efb2baade --- /dev/null +++ b/Master/texmf-dist/doc/fonts/modes/GNUmakefile @@ -0,0 +1,132 @@ +# $Id: GNUmakefile,v 1.3 2020/01/28 19:13:52 karl Exp $ +# Makefile for the mode_def collection. Public domain. + +version = 4.0 + +default: check + +testfonts = cmr5 cmtt8 cmti7 cmr10 cmti10 cmtt10 cmtt12 cmr17 +%.600pk: %.600gf + gftopk $< + +%.tfm %.600gf: modes.base + mf '&./modes \mode:=ljfour; nonstopmode; input $*' + +test.ps: $(addsuffix .600pk,$(testfonts)) test.dvi + dvips test -o + +test.dvi: $(addsuffix .tfm, $(testfonts)) test.tex + tex test + +# Upload in directory modes/ per CTAN. +distdir = modes +distname = $(distdir)/modes.mf +dist: badnames + test -z `rcslocks` + rm -rf $(distdir) && mkdir $(distdir) + expand <modes.mf | sed 's/[ ]*$$//' >$(distname) +# ensure no trailing spaces crept into the source (sigh): + diff modes.mf $(distname) +# these three commands are tiny shell scripts, not distributed (better to +# start with the versioned file). + add-version $(version) $(distname) + add-date $(distname) + fix-checksum $(distname) +# + cp -p ChangeLog GNUmakefile README $(distdir)/ + cp -p modedpicheck $(distdir)/ + cp -p list $(distdir)/modelist.txt + cp -p shortlist $(distdir)/modenames.txt + cd $(distdir) && mft ./modes.mf && pdftex ./modes.tex && rm -f *.log modes.tex + rm -f modes.zip; zip -r modes.zip modes + +# old stuff for karl. +# mv $$HOME/mail/2modes $(archive)/$(version).mail && gzip $(archive)/$(version).mail +# cp -p $(distname) $(archive) && gzip -f $(archive)/$(distname) && rooo +# cp -p $(distname) $(mfsys)/modes.mf +#archive = $(HOME)/misc/archive/modes + +list: modes.mf + grep \^mode_def modes.mf | grep -v help | sed 's/\\\[//' >list + +shortlist: list + sed 's/^mode_def \(.*\) =.*$$/\1/' list >$@ + +badnames: shortlist + sort $< | uniq -d + gawk '{if (length ($$0) > 8) {print $0; count++} } END {exit count}' $< + +dvi: modes.dvi +modes.dvi: modes.tex + tex '\scrollmode \input modes.tex' + +pdf: modes.pdf +modes.pdf: modes.tex + texfot pdftex '\nonstopmode \input modes.tex' + +modes.tex: modes.mf + mft modes.mf + +modes.base: modes.mf + mf -ini plain input modes\; dump + mv plain.base $@ + +# systematically check all modes, and some known past problems. +check: badnames modes.dvi checkx check-primitives check-modedpi \ +cmr10.300pk logo10.2540gf test.ps cmbsy7.1200gf + +# Check that Xerox info is included if requested. Must use -ini because +# mf.base includes modes.mf by default, and it intentionally stops +# itself from being read twice. So, for development convenience, do it +# all by hand (instead of depending on modes.base and dumping a new one +# every time). +# +checkx: + -mf -ini '\input plain; nonstopmode; input modes; mode:=cx; mode_include_extra_info; input logo10' + tftopl ./plain.tfm | fgrep CODING + +check-mktextfm: + rm -f logo10.tfm + mktextfm --destdir=`pwd` logo10 +# no xerox info by default: + ! (tftopl ./logo10.tfm | fgrep CODING) +# + rm -f logo10.tfm + env MF_MODE_EXTRA_INFO=1 mktextfm --destdir=`pwd` logo10 +# xerox info if requested: + tftopl ./logo10.tfm | fgrep CODING +# This will fail unless the new mktextfm is in PATH, and +# unless the correct modes.mf is compiled into mf.base,. +# It seems like overkill to have a new option to mktextfm so we can +# specify a fake mf, something like "inimf \input plain \input modes ...". +# We'll just test after installation. + +check-primitives: modes.base +# test for knuth: primitives work as designed, no Xerox info by default. + mf "&./modes \fontmaking:=1; end" + ! (tftopl ./mfput.tfm | fgrep CODING) + +check-modedpi: + modedpicheck + +gft: cmr10.600gf + gftype -m -i ./$< >cmr10.600gft +cmr10.600gf: modes.base + mf '&./modes \mode:=ricoh; mag:=2; input cmr10' + +# Make sure write-white works. +cmr10.300pk: modes.base + mf "&./modes \mode:=ricoh; scrollmode; input cmr10" + +# cmbsy7 fails with blacker >= 3 and pixels_per_inch >= 1200. +cmbsy7.1200gf: modes.base + mf "&./modes \mode:=lexmarkr; scrollmode; input cmbsy7" + +logo10.2540gf: shortlist modes.base + for f in `cat shortlist`; do echo $${f}; \ + mf "&./modes \mode:=$${f}; scrollmode; input logo10"; \ + done + +realclean distclean clean mostlyclean: + rm -f *gf *.gft *pk *.tfm *.pl *.ps *.log *.base *.dvi + rm -f modes.dvi list shortlist modes.tex modes.pdf |