When SVG is using a closepath command, TCPDF is not resetting coords to the beginning of the subpath.
I successfully tried a path in the SVGPath function to memorise the initial coords of the subpath and to reset the coords when closepath is issued.
case 'M': { // moveto
foreach ($params as $ck => $cp) {
if (($ck % 2) == 0) {
$x = $cp + $xoffset;
} else {
$y = $cp + $yoffset;
if ($firstcmd OR (abs($x0 - $x) >= $minlen) OR (abs($y0 - $y) >= $minlen)) {
if ($ck == 1) {
$this->_outPoint($x, $y);
$firstcmd = false;
} else {
$this->_outLine($x, $y);
}
$x0 = $x;
$y0 = $y;
}
$xmin = min($xmin, $x);
$ymin = min($ymin, $y);
$xmax = max($xmax, $x);
$ymax = max($ymax, $y);
if ($relcoord) {
$xoffset = $x;
$yoffset = $y;
}
}
}
$sx = $x;
$sy = $y;
break;
}
case 'Z': {
$this->_out('h');
$x = $sx;
$y = $sy;
break;
}