chiark / gitweb /
actually make pages be different pages
[pandemic-rising-tide.git] / generate-board
index a6699d4b69649f221631d9199eab7dfb02da22fd..8faca3dc16ef38066796ccb64bf129ecfb391dbe 100755 (executable)
@@ -354,9 +354,16 @@ sub computeboundings() {
     $somepage->('P', 0,0, $a1_w, $a1_h);
     my $offx = 0.5*($bb{PageP}[2] - $bb{Entire}[2]);
     my $offy = 0.5*($bb{PageP}[3] - $bb{Entire}[3]);
+    my @hrect = @{ $bb{Entire} };
+    $bb{Entire}[0] += $offx;  $bb{Entire}[1] += $offy;
+    $bb{Entire}[2] += $offx;  $bb{Entire}[3] += $offy;
     if ($maxpaper eq 'a1m') {
+      @hrect = @{ $submargins->($a1m_pasteedge, \@hrect) };
       $bb{Cutout} = $submargins->($a1m_pasteedge, $bb{Entire});
     }
+    my $w_stroke = $xopts =~ m/W/ ?
+       ' gsave 3 setlinewidth stroke grestore '
+       : '';
     $preamble_from_boundings = <<END;
         $offx $offy translate
          1 setlinewidth
@@ -369,18 +376,16 @@ sub computeboundings() {
              0 $hairs -2 mul rlineto
              stroke
          } def
-         0       0       a1hairs
-         $hairsw 0       a1hairs
-         0       $hairsh a1hairs
-         $hairsw $hairsh a1hairs
+         $hrect[0] $hrect[1] a1hairs
+         $hrect[0] $hrect[3] a1hairs
+         $hrect[2] $hrect[3] a1hairs
+         $hrect[2] $hrect[1] a1hairs
          -$surround -$surround moveto
           $surroundw 0         rlineto
           0 $surroundh         rlineto
           -$surroundw 0        rlineto
-                 closepath clip
+                 closepath $w_stroke clip
 END
-    $bb{Entire}[0] += $offx;  $bb{Entire}[1] += $offy;
-    $bb{Entire}[2] += $offx;  $bb{Entire}[3] += $offy;
     $top_adjuncts_dy_from_boundings = 35;
     $bottom_adjuncts_dy_from_boundings = -7;
   } else {
@@ -434,6 +439,7 @@ sub preamble() {
 << /PageSize [ @$sz ] >> setpagedevice
 /board {
   gsave
+  $bb->[0] neg  $bb->[1] neg  translate
 $preamble_from_boundings
   34 -15 translate
 END