typerig.proxy.pens.abstractPen
typerig.proxy.pens.abstractPen (version 0.0.1)
# MODULE: Typerig / Proxy / Pen (Objects) # ----------------------------------------------------------- # (C) Vassil Kateliev, 2019-2020 (http://www.kateliev.com) # (C) Karandash Type Foundry (http://www.karandash.eu) #------------------------------------------------------------ # www.typerig.com
Modules
- fontgate
- fontlab
Classes
class AbstractPen(builtin.object)
AbstractPen as specified by FontTools (fontTools.pens.basePen.py)
Methods
- addComponent(self, glyphName, transformation)
-
Add a sub glyph. The 'transformation' argument must be a 6-tuple containing an affine transformation, or a Transform object from the fontTools.misc.transform module. More precisely: it should be a sequence containing 6 numbers.
- closePath(self)
-
Close the current sub path. You must call either pen.closePath() or pen.endPath() after each sub path.
- curveTo(self, *points)
-
Draw a cubic bezier with an arbitrary number of control points. The last point specified is on-curve, all others are off-curve (control) points. If the number of control points is > 2, the segment is split into multiple bezier segments. This works like this: Let n be the number of control points (which is the number of arguments to this call minus 1). If n==2, a plain vanilla cubic bezier is drawn. If n==1, we fall back to a quadratic segment and if n==0 we draw a straight line. It gets interesting when n>2: n-1 PostScript-style cubic segments will be drawn as if it were one curve. See decomposeSuperBezierSegment(). The conversion algorithm used for n>2 is inspired by NURB splines, and is conceptually equivalent to the TrueType "implied points" principle. See also decomposeQuadraticSegment().
- endPath(self)
-
End the current sub path, but don't close it. You must call either pen.closePath() or pen.endPath() after each sub path.
- lineTo(self, pt)
-
Draw a straight line from the current point to 'pt'.
- moveTo(self, pt)
-
Begin a new sub path, set the current point to 'pt'. You must end each sub path with a call to pen.closePath() or pen.endPath().
- qCurveTo(self, *points)
-
Draw a whole string of quadratic curve segments. The last point specified is on-curve, all others are off-curve points. This method implements TrueType-style curves, breaking up curves using 'implied points': between each two consequtive off-curve points, there is one implied point exactly in the middle between them. See also decomposeQuadraticSegment(). The last argument (normally the on-curve point) may be None. This is to support contours that have NO on-curve points (a rarely seen feature of TrueType outlines).
Descriptors
- dict
-
dictionary for instance variables (if defined)
- weakref
-
list of weak references to the object (if defined)
class AbstractPointPen(builtin.object)
Baseclass for all PointPens as specified by FontTools (fontTools.pens.pointPen.py)
Methods
- addComponent(self, baseGlyphName, transformation, identifier=None, **kwargs)
-
Add a sub glyph.
- addPoint(self, pt, segmentType=None, smooth=False, name=None, identifier=None, **kwargs)
-
Add a point to the current sub path.
- beginPath(self, identifier=None, **kwargs)
-
Start a new sub path.
- endPath(self)
-
End the current sub path.
Descriptors
- dict
-
dictionary for instance variables (if defined)
- weakref
-
list of weak references to the object (if defined)
AbstractPen
typerig.proxy.pens.abstractPen.AbstractPen = class AbstractPen(__builtin__.object)
AbstractPen as specified by FontTools (fontTools.pens.basePen.py)
Methods
- addComponent(self, glyphName, transformation)
-
Add a sub glyph. The 'transformation' argument must be a 6-tuple containing an affine transformation, or a Transform object from the fontTools.misc.transform module. More precisely: it should be a sequence containing 6 numbers.
- closePath(self)
-
Close the current sub path. You must call either pen.closePath() or pen.endPath() after each sub path.
- curveTo(self, *points)
-
Draw a cubic bezier with an arbitrary number of control points. The last point specified is on-curve, all others are off-curve (control) points. If the number of control points is > 2, the segment is split into multiple bezier segments. This works like this: Let n be the number of control points (which is the number of arguments to this call minus 1). If n==2, a plain vanilla cubic bezier is drawn. If n==1, we fall back to a quadratic segment and if n==0 we draw a straight line. It gets interesting when n>2: n-1 PostScript-style cubic segments will be drawn as if it were one curve. See decomposeSuperBezierSegment(). The conversion algorithm used for n>2 is inspired by NURB splines, and is conceptually equivalent to the TrueType "implied points" principle. See also decomposeQuadraticSegment().
- endPath(self)
-
End the current sub path, but don't close it. You must call either pen.closePath() or pen.endPath() after each sub path.
- lineTo(self, pt)
-
Draw a straight line from the current point to 'pt'.
- moveTo(self, pt)
-
Begin a new sub path, set the current point to 'pt'. You must end each sub path with a call to pen.closePath() or pen.endPath().
- qCurveTo(self, *points)
-
Draw a whole string of quadratic curve segments. The last point specified is on-curve, all others are off-curve points. This method implements TrueType-style curves, breaking up curves using 'implied points': between each two consequtive off-curve points, there is one implied point exactly in the middle between them. See also decomposeQuadraticSegment(). The last argument (normally the on-curve point) may be None. This is to support contours that have NO on-curve points (a rarely seen feature of TrueType outlines).
Descriptors
- __dict__
-
dictionary for instance variables (if defined)
- __weakref__
-
list of weak references to the object (if defined)
moveTo
- typerig.proxy.pens.abstractPen.AbstractPen.moveTo = moveTo(self, pt) unbound typerig.proxy.pens.abstractPen.AbstractPen method
-
Begin a new sub path, set the current point to 'pt'. You must end each sub path with a call to pen.closePath() or pen.endPath().
lineTo
- typerig.proxy.pens.abstractPen.AbstractPen.lineTo = lineTo(self, pt) unbound typerig.proxy.pens.abstractPen.AbstractPen method
-
Draw a straight line from the current point to 'pt'.
curveTo
- typerig.proxy.pens.abstractPen.AbstractPen.curveTo = curveTo(self, *points) unbound typerig.proxy.pens.abstractPen.AbstractPen method
-
Draw a cubic bezier with an arbitrary number of control points. The last point specified is on-curve, all others are off-curve (control) points. If the number of control points is > 2, the segment is split into multiple bezier segments. This works like this: Let n be the number of control points (which is the number of arguments to this call minus 1). If n==2, a plain vanilla cubic bezier is drawn. If n==1, we fall back to a quadratic segment and if n==0 we draw a straight line. It gets interesting when n>2: n-1 PostScript-style cubic segments will be drawn as if it were one curve. See decomposeSuperBezierSegment(). The conversion algorithm used for n>2 is inspired by NURB splines, and is conceptually equivalent to the TrueType "implied points" principle. See also decomposeQuadraticSegment().
qCurveTo
- typerig.proxy.pens.abstractPen.AbstractPen.qCurveTo = qCurveTo(self, *points) unbound typerig.proxy.pens.abstractPen.AbstractPen method
-
Draw a whole string of quadratic curve segments. The last point specified is on-curve, all others are off-curve points. This method implements TrueType-style curves, breaking up curves using 'implied points': between each two consequtive off-curve points, there is one implied point exactly in the middle between them. See also decomposeQuadraticSegment(). The last argument (normally the on-curve point) may be None. This is to support contours that have NO on-curve points (a rarely seen feature of TrueType outlines).
closePath
- typerig.proxy.pens.abstractPen.AbstractPen.closePath = closePath(self) unbound typerig.proxy.pens.abstractPen.AbstractPen method
-
Close the current sub path. You must call either pen.closePath() or pen.endPath() after each sub path.
endPath
- typerig.proxy.pens.abstractPen.AbstractPen.endPath = endPath(self) unbound typerig.proxy.pens.abstractPen.AbstractPen method
-
End the current sub path, but don't close it. You must call either pen.closePath() or pen.endPath() after each sub path.
addComponent
- typerig.proxy.pens.abstractPen.AbstractPen.addComponent = addComponent(self, glyphName, transformation) unbound typerig.proxy.pens.abstractPen.AbstractPen method
-
Add a sub glyph. The 'transformation' argument must be a 6-tuple containing an affine transformation, or a Transform object from the fontTools.misc.transform module. More precisely: it should be a sequence containing 6 numbers.
AbstractPointPen
typerig.proxy.pens.abstractPen.AbstractPointPen = class AbstractPointPen(__builtin__.object)
Baseclass for all PointPens as specified by FontTools (fontTools.pens.pointPen.py)
Methods
- addComponent(self, baseGlyphName, transformation, identifier=None, **kwargs)
-
Add a sub glyph.
- addPoint(self, pt, segmentType=None, smooth=False, name=None, identifier=None, **kwargs)
-
Add a point to the current sub path.
- beginPath(self, identifier=None, **kwargs)
-
Start a new sub path.
- endPath(self)
-
End the current sub path.
Descriptors
- __dict__
-
dictionary for instance variables (if defined)
- __weakref__
-
list of weak references to the object (if defined)
beginPath
- typerig.proxy.pens.abstractPen.AbstractPointPen.beginPath = beginPath(self, identifier=None, **kwargs) unbound typerig.proxy.pens.abstractPen.AbstractPointPen method
-
Start a new sub path.
endPath
- typerig.proxy.pens.abstractPen.AbstractPointPen.endPath = endPath(self) unbound typerig.proxy.pens.abstractPen.AbstractPointPen method
-
End the current sub path.
addPoint
- typerig.proxy.pens.abstractPen.AbstractPointPen.addPoint = addPoint(self, pt, segmentType=None, smooth=False, name=None, identifier=None, **kwargs) unbound typerig.proxy.pens.abstractPen.AbstractPointPen method
-
Add a point to the current sub path.
addComponent
- typerig.proxy.pens.abstractPen.AbstractPointPen.addComponent = addComponent(self, baseGlyphName, transformation, identifier=None, **kwargs) unbound typerig.proxy.pens.abstractPen.AbstractPointPen method
-
Add a sub glyph.