chiark / gitweb /
3 A4 board
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 2 Mar 2019 15:15:26 +0000 (15:15 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 2 Mar 2019 15:15:26 +0000 (15:15 +0000)
generate-board

index 7c79f96dd239ff3f800b9bcf7a681b5c37ca4743..07f89d724ce4fb3e5ad1f4aa21d6b666480da62a 100755 (executable)
@@ -300,11 +300,32 @@ sub pscolour ($;$) {
 }
 
 sub preamble() {
-  o("%!\n");
-  o(" 0.52 dup scale\n") if $xopts =~ m/S/;
+  my $printeredge = 5 * MM2PT;
+  my $xsz = 842;
+  my $ysz = 3 * 595 - 4 * $printeredge;
+  o(<<END);
+%!PS-Adobe-3.0
+%%BoundingBox 0 0 $xsz $ysz
+%%Pages: 1
+%%EndComments
+%%Page: 1
+%%BeginPageSetup
+/pgsave save def
+%%EndPageSetup
+END
+  #o(" 0.52 dup scale\n") if $xopts =~ m/S/;
+  #o("%%Box 0 0 $xsz $ysz");
   # xxx bodge, want boundingbox or something
 }
 
+sub postamble () {
+  o(<<END);
+pgsave restore
+showpage
+%%EOF
+END
+}
+
 sub facepscolour ($) {
   my ($colourname) = @_;
   $xopts =~ m/W/ ? '1 setgray'
@@ -408,10 +429,6 @@ END
   }
 }
 
-sub postamble () {
-  o("showpage\n");
-}
-
 #----- main program -----
 
 $xopts = shift @ARGV if $ARGV[0] =~ s/^-X//;