SVG-VCD
view release on metacpan or search on metacpan
bin/VertFigure view on Meta::CPAN
}
my $st = $svg->group(style => { 'font-family' => $vcd->config("font-family"),
'font-size' => $vcd->config("font-size"),
fill => 'black',
});
foreach my $i (1 .. $n) {
my $taxon = $vcd->taxon($i-1);
my $data = $taxon->field("data");
my($cdata, $ddata) = split('\|', $data);
$ddata = "" if !defined $ddata;
my $nc = length($cdata);
my $nd = length($ddata);
my $text = $st->text(x => 10, 'y' => $th * $i + $tyo);
my $tname = $taxon->field("taxon");
my %args = ( style => { 'font-style' => "italic" } );
if ($tname =~ s/^\///) {
%args = ();
}
$text->tspan(%args)->cdata($tname);
my $specimen = $taxon->field("specimen");
# I don't know why, but some versions of InkScape (e.g. v0.48 on
# Ubuntu 12.04.2) do not render an ordinary space in this context
# -- hence use of a non-breaking space.
$text->tspan()->cdata(" $specimen") if defined $specimen;
# Cervicals
foreach (my $j = 0; $j < $nc; $j++) {
vertebra($svg, $vcd, $i, $j-$nc, $cw, $ch, substr($cdata, $j, 1));
}
# Dorsals
my $dheight = $dh;
foreach (my $j = 0; $j < $nd; $j++) {
vertebra($svg, $vcd, $i, $j, $dw, $dheight, substr($ddata, $j, 1));
$dheight += $dhg if defined $dhg;
}
}
( run in 0.628 second using v1.01-cache-2.11-cpan-454fe037f31 )