Anchor¶
Description¶
Anchors are single points in a glyph which are not part of a contour. They can be used as reference positions for doing things like assembling components. In most font editors, anchors have a special appearance and can be edited.
glyph = CurrentGlyph()
for anchor in glyph.anchors:
print(anchor)
Overview¶
Copy¶
Copy this object into a new object of the same type. |
Parents¶
The anchor's parent |
|
The anchor's parent |
|
The anchor's parent |
Identification¶
The name of the anchor. |
|
The anchor's color. This will be a Color or |
|
The unique identifier for the object. This value will be an Identifier or a |
|
The index of the anchor within the ordered list of the parent glyph's anchors. This attribute is read only. ::. |
Coordinate¶
The x coordinate of the anchor. It must be an Integer/Float. ::. |
|
The y coordinate of the anchor. It must be an Integer/Float. ::. |
Transformations¶
Transform the object. |
|
Move the object. |
|
Scale the object. |
|
Rotate the object. |
|
Skew the object. |
Normalization¶
Round the anchor's coordinate. |
Environment¶
Return the environment's native object that has been wrapped by this object. |
|
Tell the environment that something has changed in the object. |
Reference¶
- class fontParts.base.BaseAnchor(*args, **kwargs)[source]¶
An anchor object. This object is almost always created with
BaseGlyph.appendAnchor
. An orphan anchor can be created like this:>>> anchor = RAnchor()
Copy¶
- BaseAnchor.copy()¶
Copy this object into a new object of the same type. The returned object will not have a parent object.
Parents¶
Identification¶
- BaseAnchor.name¶
The name of the anchor. This will be a String or
None
.>>> anchor.name 'my anchor' >>> anchor.name = None
- BaseAnchor.color¶
The anchor’s color. This will be a Color or
None
.>>> anchor.color None >>> anchor.color = (1, 0, 0, 0.5)
- BaseAnchor.identifier¶
The unique identifier for the object. This value will be an Identifier or a
None
. This attribute is read only.>>> object.identifier 'ILHGJlygfds'
To request an identifier if it does not exist use object.getIdentifier()
- BaseAnchor.index¶
The index of the anchor within the ordered list of the parent glyph’s anchors. This attribute is read only.
>>> anchor.index 0
Coordinate¶
- BaseAnchor.x¶
The x coordinate of the anchor. It must be an Integer/Float.
>>> anchor.x 100 >>> anchor.x = 101
- BaseAnchor.y¶
The y coordinate of the anchor. It must be an Integer/Float.
>>> anchor.y 100 >>> anchor.y = 101
Transformations¶
- BaseAnchor.transformBy(matrix, origin=None)¶
Transform the object.
>>> obj.transformBy((0.5, 0, 0, 2.0, 10, 0)) >>> obj.transformBy((0.5, 0, 0, 2.0, 10, 0), origin=(500, 500))
matrix must be a Transformation Matrix. origin defines the point at with the transformation should originate. It must be a Coordinate or
None
. The default is(0, 0)
.
- BaseAnchor.moveBy(value)¶
Move the object.
>>> obj.moveBy((10, 0))
value must be an iterable containing two Integer/Float values defining the x and y values to move the object by.
- BaseAnchor.scaleBy(value, origin=None)¶
Scale the object.
>>> obj.scaleBy(2.0) >>> obj.scaleBy((0.5, 2.0), origin=(500, 500))
value must be an iterable containing two Integer/Float values defining the x and y values to scale the object by. origin defines the point at with the scale should originate. It must be a Coordinate or
None
. The default is(0, 0)
.
- BaseAnchor.rotateBy(value, origin=None)¶
Rotate the object.
>>> obj.rotateBy(45) >>> obj.rotateBy(45, origin=(500, 500))
value must be a Integer/Float values defining the angle to rotate the object by. origin defines the point at with the rotation should originate. It must be a Coordinate or
None
. The default is(0, 0)
.
- BaseAnchor.skewBy(value, origin=None)¶
Skew the object.
>>> obj.skewBy(11) >>> obj.skewBy((25, 10), origin=(500, 500))
value must be rone of the following:
single Integer/Float indicating the value to skew the x direction by.
iterable cointaining type Integer/Float defining the values to skew the x and y directions by.
origin defines the point at with the skew should originate. It must be a Coordinate or
None
. The default is(0, 0)
.
Normalization¶
Environment¶
- BaseAnchor.naked()¶
Return the environment’s native object that has been wrapped by this object.
>>> loweLevelObj = obj.naked()
- BaseAnchor.changed(*args, **kwargs)¶
Tell the environment that something has changed in the object. The behavior of this method will vary from environment to environment.
>>> obj.changed()