From 621759b3a81a89f10746d2c2114dc2ca272cfe71 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Mon, 20 Feb 2017 17:28:19 -0600 Subject: [PATCH] [symfont] Add endPath() --- Lib/fontTools/pens/momentsPen.py | 6 ++++++ Snippets/symfont.py | 15 ++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Lib/fontTools/pens/momentsPen.py b/Lib/fontTools/pens/momentsPen.py index 938fe1c29..95582ebd6 100644 --- a/Lib/fontTools/pens/momentsPen.py +++ b/Lib/fontTools/pens/momentsPen.py @@ -22,6 +22,12 @@ class MomentsPen(BasePen): if p0 != self.__startPoint: self._lineTo(self.__startPoint) + def _endPath(self): + p0 = self._getCurrentPoint() + if p0 != self.__startPoint: + # Green theorem is not defined on open contours. + raise NotImplementedError + def _lineTo(self, p1): x0,y0 = self._getCurrentPoint() x1,y1 = p1 diff --git a/Snippets/symfont.py b/Snippets/symfont.py index 3d6594f2e..9271301f2 100755 --- a/Snippets/symfont.py +++ b/Snippets/symfont.py @@ -66,7 +66,14 @@ class %s(BasePen): def _closePath(self): p0 = self._getCurrentPoint() if p0 != self.__startPoint: - self._lineTo(self.__startPoint)''', file=file) + self._lineTo(self.__startPoint) + + def _endPath(self): + p0 = self._getCurrentPoint() + if p0 != self.__startPoint: + # Green theorem is not defined on open contours. + raise NotImplementedError +''', end='', file=file) for n in (1, 2, 3): @@ -143,6 +150,12 @@ class GreenPen(BasePen): if p0 != self.__startPoint: self._lineTo(self.__startPoint) + def _endPath(self): + p0 = self._getCurrentPoint() + if p0 != self.__startPoint: + # Green theorem is not defined on open contours. + raise NotImplementedError + def _lineTo(self, p1): p0 = self._getCurrentPoint() self.value += self._funcs[1](p0, p1)