From: Ian Jackson Date: Thu, 7 Mar 2019 00:34:52 +0000 (+0000) Subject: wip a1m X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=fe8e59cd65b8644411dd62f818f7120e84bd5eb8;p=pandemic-rising-tide.git wip a1m --- diff --git a/Makefile b/Makefile index 49aa74a..e04760d 100644 --- a/Makefile +++ b/Makefile @@ -32,11 +32,10 @@ default: all BOARDFILES= \ $(addprefix maxprintable-, a3) \ $(addprefix minprintable-, a3) \ - $(addprefix boundings-, pa3 pa4 pa1-bPageP ) \ + $(addprefix boundings-, pa3 pa4 pa1-bPageP pa1m-bPageP ) \ $(addprefix board-, pa3-bPageB pa3-bPageMT \ pa4-bPageB pa4-bPageM pa4-bPageT \ - pa1-bPageP ) \ - $(addprefix board-, b mt) \ + pa1-bPageP pa1m-bPageP ) \ layout-test \ $(addprefix a4-test-, b m t) \ $(addprefix layout-test-, b m t) diff --git a/generate-board b/generate-board index ee608f9..7994569 100755 --- a/generate-board +++ b/generate-board @@ -35,7 +35,8 @@ our $a1_w = 1684; our $a1_h = 2384; our $max_printeredge = 5.50 * MM2PT; - +our $a1m_pasteedge = 3.5 * MM2PT; # along each edge +our $preamble_from_boundings = ''; # ----- region names from plag, incl. reverse mapping ----- @@ -306,18 +307,19 @@ sub face_path ($) { sub computeboundings() { $bb{Entire} = [ 0,0, $a4_h, $a4_w + $a3_h ]; - my $page2minprintable = sub { - my (@p) = @{ $_[0] }; - [ $p[0] + $max_printeredge, - $p[1] + $max_printeredge, - $p[2] - $max_printeredge, - $p[3] - $max_printeredge ]; + my $submargins = sub { + my ($margin, $pr) = @_; + my @p = @$pr; + [ $p[0] + $margin, + $p[1] + $margin, + $p[2] - $margin, + $p[3] - $margin ]; }; my $somepage = sub { my $id = shift @_; print STDERR "defining page Page$id\n"; $bb{"Page$id"} = [ @_ ]; - $bb{"Printable$id"} = $page2minprintable->($bb{"Page$id"}); + $bb{"Printable$id"} = $submargins->($max_printeredge, $bb{"Page$id"}); }; my $pageb_a4 = sub { $somepage->('B', 0,0, $a4_h, $a4_w ); @@ -340,8 +342,26 @@ sub computeboundings() { @{ $bb{PrintableB} }[0..1], @{ $bb{PrintableT} }[2..3], ]; - } elsif ($maxpaper eq 'a1') { + } elsif ($maxpaper =~ m/^a1/) { + 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]); + $bb{Entire}[0] += $offx; $bb{Entire}[1] += $offy; + $bb{Entire}[2] += $offx; $bb{Entire}[3] += $offy; + $preamble_from_boundings = <($a1m_pasteedge, $bb{Entire}); + } } else { confess; } @@ -393,6 +413,7 @@ sub preamble() { << /PageSize [ @$sz ] >> setpagedevice /board { gsave +$preamble_from_boundings 34 -15 translate END if ($maxpaper eq 'a4') { @@ -892,7 +913,7 @@ sub play_hint () { $xopts = shift @ARGV if $ARGV[0] =~ s/^-X//; $bounding = $1 if $xopts =~ s/b(\w+)//; $maxpaper = $1 if $xopts =~ s/p(\w+)//; -$maxpaper =~ m/^a[134]$/ or confess; +$maxpaper =~ m/^a[134]$|^a1m$/ or confess; ($facesf, @ARGV) = @ARGV or die; parse_input_graph();