PUBLISH= pumpkin-books.pdf house-rules.md
+SHELL=bash
+
all: pumpkin-books.pdf
# Don't print the ps, printers (eg ours!) don't always have the fonts
pumpkin-books.ps: pumpkin-books.ps.pl
./$< >$@.new && mv -f $@.new $@
-pumpkin-books.pdf: pumpkin-books.ps
+pumpkin-books.pdf: pumpkin-books.ps bag.pgm
gs -q -dNOPAUSE -dBATCH -dPDFSETTINGS=/prepress \
-sDEVICE=pdfwrite -sOutputFile=$@ $<
+bag.pgm: Sack_-_Sac_-_Zak_brown.svg Makefile
+ rsvg-convert -f png -o $@.tmp.png $<
+ set -o pipefail; set -e; \
+ pngtopnm <$@.tmp.png \
+ | ppmtopgm \
+ | pnmdepth 255 \
+ | pnmnoraw >$@.tmp.new
+ mv -f $@.tmp.new $@
+
+
pubssh=c
pubpath=games-rules/quacks
puburl=https://www.chiark.greenend.org.uk/~ijackson/
-26 0 translate
gsave 26 0 translate ${\ chip($anychip,0) } grestore
gsave 46 0 translate ${\ chip($pumpkin,0) } grestore
+ bag_image
10 6 translate
-120 rotate
${\ arrow_any("
END
+sub def_image ($) {
+ my ($name) = @_;
+
+ open B, "$name.pgm" or die $!;
+ <B> eq "P2\n" or die;
+ local $/ = undef;
+ my @d = split ' ', <B>;
+ close B;
+
+ my $w = shift @d;
+ my $h = shift @d;
+ my $maxval = shift @d;
+ die unless $maxval eq 255;
+
+ my $sz = $w/17.0;
+ my $hsz = $sz/2;
+
+ print <<END, '{<' or die $!;
+/${name}_image {
+ $w $h 8
+ [ -$sz 0 0 -$sz $w 2 div $h 2 div ]
+END
+ for (my $i=0; $i< $w*$h; $i++) {
+ printf "%02x", shift @d or die $!;
+ }
+ print <<END or die $!;
+>} image
+} def
+END
+}
+
+def_image("bag");
+
print "gsave\n" or die $!;
print tile(