msx-font/Makefile

60 lines
1.6 KiB
Makefile

PNGS = $(shell ./countchars.sh characters.png "pngs/%03.0f.png")
NARROWSVGS = $(shell ./countchars.sh characters.png "narrow-svgs/%03.0f.svg")
WIDESVGS = $(shell ./countchars.sh characters.png "wide-svgs/%03.0f.svg")
SCREEN0_OUTPUTS = msx-screen0.sfd msx-screen0.woff msx-screen0.ttf
SCREEN1_OUTPUTS = msx-screen1.sfd msx-screen1.woff msx-screen1.ttf
all: $(SCREEN0_OUTPUTS) $(SCREEN1_OUTPUTS)
pngs:
mkdir -p pngs
$(PNGS): characters.png | pngs
gm convert -crop 8x8 characters.png +adjoin pngs/%03d.png
narrow-svgs:
mkdir -p narrow-svgs
wide-svgs:
mkdir -p wide-svgs
$(NARROWSVGS): narrow-svgs/%.svg: pngs/%.png | narrow-svgs
./createsvg.sh "$<" "$@" 6 8
$(WIDESVGS): wide-svgs/%.svg: pngs/%.png | wide-svgs
./createsvg.sh "$<" "$@" 8 8
svgs: $(NARROWSVGS) $(WIDESVGS)
unicode2msx.txt: msx2utf8.py
./msx2utf8.py -l | awk '{ print $$2" "$$1 }' > unicode2msx.txt
$(SCREEN0_OUTPUTS): $(NARROWSVGS) unicode2msx.txt createfont.py
./createfont.py \
--output-sfd msx-screen0.sfd \
--output-woff msx-screen0.woff \
--output-ttf msx-screen0.ttf \
--familyname 'MSX' \
--fontname 'MSX-Screen0' \
--fullname 'MSX Screen 0' \
--width 768 \
unicode2msx.txt narrow-svgs
$(SCREEN1_OUTPUTS): $(WIDESVGS) unicode2msx.txt createfont.py
./createfont.py \
--output-sfd msx-screen1.sfd \
--output-woff msx-screen1.woff \
--output-ttf msx-screen1.ttf \
--familyname 'MSX' \
--fontname 'MSX-Screen1' \
--fullname 'MSX Screen 1' \
--width 1024 \
unicode2msx.txt wide-svgs
.PHONY: clean
clean:
rm -rf narrow-svgs wide-svgs pngs
rm -f $(SCREEN0_OUTPUTS) $(SCREEN1_OUTPUTS)
rm -f unicode2msx.txt