From f2ff4a015ab200de5d7c2d8b16d0a0e2ad0dbfa8 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 1 Mar 2019 23:05:24 +0000 Subject: [PATCH] wip HS --- generate-board | 20 +++++++++++++++----- misc-data.pl | 1 + 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/generate-board b/generate-board index 07dc841..f6b002f 100755 --- a/generate-board +++ b/generate-board @@ -280,13 +280,17 @@ sub face_path ($) { o(" closepath\n"); } -sub pscolour ($) { - my ($spec) = @_; +sub pscolour ($;$) { + my ($spec, $adj1) = @_; confess unless defined $spec; - join ' ', - (map { sprintf "%.6f ", hex($_) / 15.0 } - split //, $spec), + my @rgb = map { hex($_) / 15.0 } split //, $spec; + $adj1 //= sub { $_[0] }; + my $r = join ' ', + (map { sprintf "%.6f ", $_ } + map { $adj1->($_) } @rgb + ), 'setrgbcolor'; + return $r; } sub preamble() { @@ -342,13 +346,19 @@ sub edge_faces() { sub label_faces() { my $sz = 18; + my $hs_sz = 17 * MM2PT; my $shadow = $sz * 0.1; o(" /Helvetica-Bold findfont $sz scalefont setfont\n"); + my %hs = map { $_ => 1 } @{ $c{HS} }; foreach my $rr (values %region) { next if $rr->{Special}; o(" /words {\n"); my $words = $rr->{DisplayName}; my $pos = $rr->{Centre} + mkvec( 0, 0.5 * $sz * @$words ); + if ($hs{$rr->{Name}}) { + print STDERR "adjust hs $rr->{Name}\n"; + $pos -= mkvec(0, -$hs_sz/2); + } foreach my $word (@$words) { $pos += mkvec(0,-$sz); o(" ", psvec($pos), " moveto"); diff --git a/misc-data.pl b/misc-data.pl index f1e12d6..e29b996 100644 --- a/misc-data.pl +++ b/misc-data.pl @@ -15,4 +15,5 @@ our %c = DisplayNames => { ZZ => 'Zuiderzee', }, + HS => [ 'Roer en Overmaas', 'Schouwen-Duiveland', 'Rijn en Ijssel' ], ); -- 2.30.2