1from fontTools.pens.basePen import BasePen 2 3 4__all__ = ["QtPen"] 5 6 7class QtPen(BasePen): 8 def __init__(self, glyphSet, path=None): 9 BasePen.__init__(self, glyphSet) 10 if path is None: 11 from PyQt5.QtGui import QPainterPath 12 13 path = QPainterPath() 14 self.path = path 15 16 def _moveTo(self, p): 17 self.path.moveTo(*p) 18 19 def _lineTo(self, p): 20 self.path.lineTo(*p) 21 22 def _curveToOne(self, p1, p2, p3): 23 self.path.cubicTo(*p1, *p2, *p3) 24 25 def _qCurveToOne(self, p1, p2): 26 self.path.quadTo(*p1, *p2) 27 28 def _closePath(self): 29 self.path.closeSubpath() 30