END
my $x_cut = 27;
+my $x_cutd = 1;
+my $x_cut2 = 38;
+my $y_cut2 = 24;
my $y_cutd = 10;
+my $coverup_x = 5;
+my $coverup_y = 89;
+
+my $cutd_slope = ($x_cut2-$x_cut)/$x_cut;
+my $y_cut2d = $y_cutd * $cutd_slope;
+my $y_cutdd = $x_cutd * $cutd_slope;
+
my $nrepis = 4;
my $paper_x = 210;
my $y_top = $y_pl_zero + $y_cutd + $spacing*1.25;
+our $veep_bg = " 0.95 0.90 0.67 setrgbcolor ";
+
+our $x_cut_rhs = $paper_x - $x_cut + 0.5 * $colspacing;;
+
sub some_cut_line($) {
<<END;
gsave
- 0.5 setgray
+ 0.25 setlinewidth
$_[0]
grestore
END
o <<GS, some_cut_line(<<GR), <<END;
/cut_line {
GS
- newpath
- $x_cut 0 moveto
- $x_cut $y_cut lineto
- 0 $y_cut $y_cutd add lineto
- 0 $y_top lineto
- stroke
+ newpath
+ $x_cut2 0 moveto
+ $x_cut2 $y_cut2 lineto
+ $x_cut $x_cutd add $y_cut2 $y_cut2d add lineto
+ $x_cut $x_cutd add $y_cut $y_cutdd add lineto
+ 0 $y_cut $y_cutd add lineto
+ 0 $y_top lineto
+ stroke
GR
} def
END
+my $veep_font = "/Helvetica-Bold findfont 6.5 scalefont setfont";
+my $money_font = "/Helvetica-BoldOblique findfont 6.5 scalefont setfont";
+
+o <<END;
+$money_font
+END
+
+sub veepsq ($) {
+ my ($veeps) = @_;
+
+ my $sqx = 4.1;
+ my $sqy = 3.2;
+
+ <<END;
+ gsave
+ -1.5 -3.0 translate
+
+ gsave
+ newpath -$sqx -$sqy moveto
+ -$sqx $sqy lineto
+ $sqx $sqy lineto
+ $sqx -$sqy lineto closepath
+
+ gsave
+ $veep_bg
+ fill
+ grestore
+ 0.19 0.35 0.25 setrgbcolor
+ 0.5 setlinewidth
+ stroke
+ grestore
+
+ $veep_font
+ 0 0 moveto
+ ($veeps) dup stringwidth pop -0.5 mul -2.5 rmoveto show
+ grestore
+END
+}
+
sub places ($) {
my ($repi) = @_;
my $data = <<END;
$o .= <<END;
gsave
- /Helvetica-Bold findfont 6.5 scalefont setfont
END
foreach (split /\n/, $data) {
s{\#.*}{};
$money += 4 * $repi;
$veeps += 2 * $repi;
- my $sqx = 4.1;
- my $sqy = 3.2;
-
$o .= <<END;
% place $x $y $money $veeps $ruby
gsave
$x $y translate
- gsave ${\ chip($anychip, 0) } grestore
- -4 1 moveto ($money) show
-
gsave
- -1.5 -3.0 translate
+ newpath
+ 0 0 chip 0.5 mul 0 360 arc
+ gsave 0.5 setlinewidth $black stroke grestore
+ 0.80 0.89 0.63 setrgbcolor fill
+ grestore
- gsave
- newpath -$sqx -$sqy moveto
- -$sqx $sqy lineto
- $sqx $sqy lineto
- $sqx -$sqy lineto closepath
+ -4.7 1 moveto ($money) show
- gsave 1 setgray fill grestore
- 0.5 setlinewidth
- stroke
- grestore
+ ${\ veepsq($veeps) }
+END
- 0 0 moveto
- ($veeps) dup stringwidth pop -0.5 mul -2.5 rmoveto show
- grestore
+ $o .= <<END if $ruby;
+ gsave
+ 6 -1 translate
+ 0.8 dup scale
+ ${ \ruby() }
+ grestore
+END
+ $o .= <<END;
grestore
END
}
grestore
END
- (" newpath $line stroke ", $o)
+ $line = <<END;
+ newpath
+ 0.66 0.85 0.75 setrgbcolor
+ 4 setlinewidth
+ $line
+ stroke
+END
+
+ ($line, $o)
}
sub repis () {
o(<<END);
cut_line
gsave
- $paper_x $x_cut sub 0 translate
+ $x_cut_rhs 0 translate
cut_line
grestore
END
o some_cut_line <<END;
newpath
0 $y_top moveto
- $paper_x $x_cut sub $y_top lineto
+ $x_cut_rhs $y_top lineto
stroke
END
repis();
+
+ o <<END;
+ gsave
+ $coverup_x $coverup_y translate
+ /Times-Roman findfont 4.0 scalefont setfont
+ 0 8 moveto (cover) show
+ 2 4.5 moveto (up) show
+ 0 0 moveto
+ /Helvetica-Bold-Italic findfont 3.5 scalefont setfont (35) show
+ 1 0 rmoveto
+ /Helvetica-Bold findfont 3.5 scalefont setfont (15) show
+ grestore
+
+ gsave
+ $paper_x $x_cut sub $y_top 7 sub translate
+
+ gsave
+ arrowlen 2 add neg 0 translate
+ ${\ arrow_any("arrowlen 0 moveto -30 0 rlineto") }
+ grestore
+
+ -40 0 translate
+ /Helvetica-Bold findfont 6.5 scalefont setfont
+
+ -4.5 0 moveto
+ $money_font
+ (+16) show
+
+ 4 -2 translate
+ ${\ veepsq('+8') }
+
+ 4 4.5 moveto
+ /Times-Roman findfont 4.5 scalefont setfont
+ (per next page) show
+
+ grestore
+END
}
set();
+o <<END;
+gsave 0 $y_top translate
+END
+set();
+o <<END;
+grestore
+END
print $ps_framing or die $!;