2 # Books of Pumpkins, etc. Extensions to Quacks of Quedlinburg
3 # SPDX-License-Identifier: GPL-3.0-or-later OR CC-BY-SA-4.0
4 # Copyright 2020-2022 Ian Jackson
8 BEGIN { unshift @INC, '.'; }
13 for (@_) { $ps_framing .= $_ }
30 my $vhalf = sqrt( $spacing ** 2 - ($colspacing*0.5) ** 2 );
32 my $y_cut = 2.75 * $spacing;
34 my $x_pl_zero = $paper_x*0.5 - 3*$colspacing;
35 my $y_pl_zero = $y_cut + $spacing - $y_cutd* 0.5 * $x_cut/$colspacing;
37 my $y_top = $y_pl_zero + $y_cutd + $spacing*1.25;
39 sub some_cut_line($) {
49 o <<GS, some_cut_line(<<GR), <<END;
55 0 $y_cut $y_cutd add lineto
80 /Helvetica-Bold findfont 8 scalefont setfont
82 foreach (split /\n/, $data) {
87 s{V}{ $vhalf / $spacing }ge;
89 my ($x,$y,$money,$veeps,$ruby) = map { eval $_ } split /\s+/;
94 push @line_poses, "$x $y";
95 next unless defined $money;
101 % place $x $y $money $veeps $ruby
103 $x_pl_zero $y_pl_zero translate
105 gsave ${\ chip($anychip, 0) } grestore
106 -5 0 moveto ($money) show
116 for my $repi (0..$nrepis-1) {
119 $repi $colspacing 2 mul mul 0 translate
133 $paper_x $x_cut sub 0 translate
137 o some_cut_line <<END;
140 $paper_x $x_cut sub $y_top lineto
149 print $ps_framing or die $!;