chiark / gitweb /
wip HS
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 1 Mar 2019 23:05:24 +0000 (23:05 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 1 Mar 2019 23:05:24 +0000 (23:05 +0000)
generate-board
misc-data.pl

index 07dc84113eba3a04f3463c9361b597ed10979846..f6b002f4f789022ab4730163b98644e45a57755b 100755 (executable)
@@ -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");
index f1e12d615e63747f6e1eb5a7558f9cf3f378e2f9..e29b996b960fe3e0c2087378ccda9514965764ca 100644 (file)
@@ -15,4 +15,5 @@ our %c =
  DisplayNames => {
      ZZ => 'Zuiderzee',
  },
+ HS => [ 'Roer en Overmaas', 'Schouwen-Duiveland', 'Rijn en Ijssel' ],
 );