bedstead/Makefile
Ben Harris a89d0efedd Switch build system to generating BDF via PostScript
As far as I can see, the new BDF files are now as good as the
FontForge-generated ones.
2024-11-10 09:30:35 +00:00

128 lines
3.9 KiB
Makefile

# SPDX-License-Identifier: CC0-1.0
FONTBASES = bedstead bedstead-extended bedstead-semicondensed \
bedstead-condensed bedstead-extracondensed \
bedstead-ultracondensed \
bedstead-bold bedstead-boldextended bedstead-boldsemicondensed \
bedstead-boldcondensed bedstead-boldextracondensed \
bedstead-boldultracondensed
SFDFILES = $(addsuffix .sfd, $(FONTBASES))
OTFFILES = $(addsuffix .otf, $(FONTBASES))
DISTFILES = bedstead.c Makefile CONTRIBUTING COPYING HACKING NEWS \
df.ps rom.ps Fontmap \
$(OTFFILES) \
bedstead-10.bdf bedstead-20.bdf bedstead-bold-20.bdf \
bedstead-10-df.png bedstead-20-df.png \
bedstead-complement.pdf
all: $(DISTFILES)
.PHONY: all-web
all-web: all sample.png extended.png icon-16.png icon-32.png icon-64.png
.PHONY: experimental
experimental: bedstead-chiseltip.otf bedstead-plotter-thin.otf \
bedstead-plotter-light.otf bedstead-plotter-medium.otf \
bedstead-plotter-bold.otf plotter.png
bedstead.sfd: bedstead
./bedstead > bedstead.sfd
bedstead-extended.sfd: bedstead
./bedstead --extended > bedstead-extended.sfd
bedstead-semicondensed.sfd: bedstead
./bedstead --semi-condensed > bedstead-semicondensed.sfd
bedstead-condensed.sfd: bedstead
./bedstead --condensed > bedstead-condensed.sfd
bedstead-extracondensed.sfd: bedstead
./bedstead --extra-condensed > bedstead-extracondensed.sfd
bedstead-ultracondensed.sfd: bedstead
./bedstead --ultra-condensed > bedstead-ultracondensed.sfd
bedstead-bold.sfd: bedstead
./bedstead --bold > bedstead-bold.sfd
bedstead-boldextended.sfd: bedstead
./bedstead --bold --extended > bedstead-boldextended.sfd
bedstead-boldsemicondensed.sfd: bedstead
./bedstead --bold --semi-condensed > bedstead-boldsemicondensed.sfd
bedstead-boldcondensed.sfd: bedstead
./bedstead --bold --condensed > bedstead-boldcondensed.sfd
bedstead-boldextracondensed.sfd: bedstead
./bedstead --bold --extra-condensed > bedstead-boldextracondensed.sfd
bedstead-boldultracondensed.sfd: bedstead
./bedstead --bold --ultra-condensed > bedstead-boldultracondensed.sfd
bedstead-oc.sfd: bedstead
./bedstead --plotter > bedstead-oc.sfd
bedstead-plotter-%.sfd: strokefont.py bedstead-oc.sfd
fontforge -lang=py -script strokefont.py plotter-$* bedstead-oc.sfd \
bedstead-plotter-$*.sfd
bedstead-chiseltip.sfd: strokefont.py bedstead-oc.sfd
fontforge -lang=py -script strokefont.py chiseltip bedstead-oc.sfd \
bedstead-chiseltip.sfd
bedstead-%.bdf.ps: bedstead
./bedstead --bdfgen $* > $@
bedstead-bold-%.bdf.ps: bedstead
./bedstead --bold --bdfgen $* > $@
# Dependency of all of OTFFILES could be narrowed to just the relevant
# one.
%.bdf: %.bdf.ps $(OTFFILES)
gs -q -P -dSAFER -dNODISPLAY -dBATCH $< > $@
%.otf: %.sfd
fontforge -lang=ff \
-c 'Open($$1); Generate($$2)' \
$< $*.otf
%.png: %.ps $(OTFFILES) Fontmap
gs -P -q -dSAFER -sDEVICE=png16m -dTextAlphaBits=4 -o $@ $<
icon-%.png: icon.ps bedstead-extended.otf Fontmap
gs -P -q -dSAFER -dsize=$* -sDEVICE=png16m -dTextAlphaBits=4 -o $@ $<
bedstead-%-df.png: df.ps bedstead.otf Fontmap
gs -P -q -dSAFER -dsize=$* -sDEVICE=png16m -o $@ $<
bedstead-complement.ps: bedstead
./bedstead --complement > bedstead-complement.ps
bedstead-complement.pdf: bedstead-complement.ps bedstead.otf Fontmap
ps2pdf -P $< $@
.PHONY: clean
clean:
rm -f bedstead *.sfd *.otf *.bdf *.bdf.ps *.png *.pdf \
bedstead-complement.ps
.PHONY: install-user
install-user: $(OTFFILES)
install -d "$${HOME}"/.fonts
install -m 644 $(OTFFILES) "$${HOME}"/.fonts
.PHONY: dist
dist: $(DISTFILES)
rm -rf bedstead-$$(sed -n 's/^Version: //p' < bedstead.sfd)
mkdir bedstead-$$(sed -n 's/^Version: //p' < bedstead.sfd)
ln $(DISTFILES) \
bedstead-$$(sed -n 's/^Version: //p' < bedstead.sfd)
zip -r bedstead-$$(sed -n 's/^Version: //p' < bedstead.sfd).zip \
bedstead-$$(sed -n 's/^Version: //p' < bedstead.sfd)
rm -r bedstead-$$(sed -n 's/^Version: //p' < bedstead.sfd)