m/h/ or s/v/l3,/g;
m/v/ or s/h([^h]*)/l$1,3/g;
my $dot = s/\.// && qq(<circle cx="3" cy="3" r="1"/>);
- qq(<path stroke-linecap="square" d="$_"/>$dot)
+ qq(<path d="$_"/>$dot)
}
qw(
Hvh vhv vh hvh vhvh Hhvh hv Vvhv Hhv
map { s/M[\d,\hM]+(?=[M"])//gr } # clean up superfluous moves
map { sprintf
'<svg width="14" height="14" viewBox="-.5 -.5 5 5">'
- . '<path%s d="M0,0%s %s4,0 %s4,4 %s0,4 %s0,0"/></svg>',
- ' stroke-linecap="round" stroke-linejoin="round"',
+ . '<path d="M0,0%s %s4,0 %s4,4 %s0,4 %s0,0"/></svg>',
'h.5v.5h-.5v-.5', # start anchor
map { ['M', 'h0M', 'L']->[$_] }
split //, $_