chiark / gitweb /
actually make pages be different pages
[pandemic-rising-tide.git] / generate-board
index 8aef0dfb314899e782d377b4d38fd19bdc3142d7..8faca3dc16ef38066796ccb64bf129ecfb391dbe 100755 (executable)
@@ -345,25 +345,47 @@ sub computeboundings() {
                         @{ $bb{PrintableT} }[2..3],
                        ];
   } elsif ($maxpaper =~ m/^a1/) {
+    my $hairs = 30 * MM2PT;
+    my $hairsw = $bb{Entire}[2];
+    my $hairsh = $bb{Entire}[3];
     my $surround = 5 * MM2PT;
     my $surroundw = $bb{Entire}[2] + $surround*2;
     my $surroundh = $bb{Entire}[3] + $surround*2;
     $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
+         0 setgray
+         /a1hairs {
+             newpath moveto
+             $hairs 0        rmoveto
+             $hairs -2 mul 0 rlineto
+             $hairs $hairs   rmoveto
+             0 $hairs -2 mul rlineto
+             stroke
+         } def
+         $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
-    if ($maxpaper eq 'a1m') {
-      $bb{Cutout} = $submargins->($a1m_pasteedge, $bb{Entire});
-    }
     $top_adjuncts_dy_from_boundings = 35;
     $bottom_adjuncts_dy_from_boundings = -7;
   } else {
@@ -417,6 +439,7 @@ sub preamble() {
 << /PageSize [ @$sz ] >> setpagedevice
 /board {
   gsave
+  $bb->[0] neg  $bb->[1] neg  translate
 $preamble_from_boundings
   34 -15 translate
 END