#!/usr/bin/perl -w
use strict;

#
# Aus Ziffernfolge ein SVG bauen
# Wird von './mkhtml' aufgerufen.
#

### Eingabe
my ($nr,$roh) = split(/\s+/,<STDIN>);
#my ($nr,$roh) = qw/44 431403210/;

### Aufbereitung
chomp $roh; my $zahl = 555555555 - $roh;
#print "roh=<$roh>, zahl=<$zahl>\n";

### Einzelstrecken bauen
my @strecken; foreach (0..7) {push @strecken,substr($zahl,$_,2)}
#print 'Einzelstrecken: <'.join('|',@strecken).">\n";

### Koordinaten
my %von;
my $r = 0.15;
$von{12} = [ 0   , $r  , 0   , 1-$r ];
$von{23} = [ 0   , 1   , 0.5 , 1.7  ];
$von{34} = [ 0.5 , 1.7 , 1   , 1    ];
$von{45} = [ 1   , 1-$r, 1   , $r   ];
$von{51} = [ 1-$r, 0   , $r  , 0    ];
$von{14} = [ $r  , $r  , 1-$r, 1-$r ];
$von{42} = [ 1-$r, 1   , $r  , 1    ];
$von{25} = [ $r  , 1-$r, 1-$r, $r   ];
foreach (12,23,34,45,51,14,42,25) {
    $von{reverse("$_")} = [(@{$von{$_}})[2,3,0,1]];
}

### Kopf zeichnen
#<!-- viewBox: minX minY width height -->
print "<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN'
    'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'>
<svg xmlns='http://www.w3.org/2000/svg'
    viewBox='0 0 1.4 2.1' version='1.1'>
<g style='fill:none;stroke:black;stroke-width:0.02;'>
<polyline points='\n";

### Einzelstrecken zeichnen
my ($xoff,$yoff) = (0.2,1.9);
sub x {return sprintf("%5.2f",$xoff+$_[0])};
sub y {return sprintf("%5.2f",$yoff-$_[0])};
my @einzelne;
foreach (@strecken) {
    print '    '.&x($von{$_}[0]).','.&y($von{$_}[1])
        .' '.&x($von{$_}[2]).','.&y($von{$_}[3])."\n";
}

### Fuss zeichnen
my $dicke = $r *0.6;
my $halb = $dicke/2;
print "' />
<rect x='".&x($von{$strecken[-1]}[2]-$halb)."' y='"
    .&y($von{$strecken[-1]}[3]+$halb)
    ."' width='$dicke' height='$dicke' style='fill:black' />
</g>
<!--
Inhalt: Haus vom Nikolaus, Variante Nr. $nr/44 -->
"
. join('',`cat lizenz`)
. "</svg>\n";

