aboutsummaryrefslogtreecommitdiff
path: root/Lib/fontTools/svgLib/path/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/fontTools/svgLib/path/__init__.py')
-rw-r--r--Lib/fontTools/svgLib/path/__init__.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/Lib/fontTools/svgLib/path/__init__.py b/Lib/fontTools/svgLib/path/__init__.py
index 690475f2..017ff57e 100644
--- a/Lib/fontTools/svgLib/path/__init__.py
+++ b/Lib/fontTools/svgLib/path/__init__.py
@@ -5,6 +5,7 @@ from fontTools.misc.py23 import *
from fontTools.pens.transformPen import TransformPen
from fontTools.misc import etree
from .parser import parse_path
+from .shapes import PathBuilder
__all__ = [tostr(s) for s in ("SVGPath", "parse_path")]
@@ -50,5 +51,10 @@ class SVGPath(object):
def draw(self, pen):
if self.transform:
pen = TransformPen(pen, self.transform)
- for el in self.root.findall(".//{http://www.w3.org/2000/svg}path[@d]"):
- parse_path(el.get("d"), pen)
+ pb = PathBuilder()
+ # xpath | doesn't seem to reliable work so just walk it
+ for el in self.root.iter():
+ pb.add_path_from_element(el)
+ for path in pb.paths:
+ parse_path(path, pen)
+