本文整理汇总了Python中defcon.Glyph.getPointPen方法的典型用法代码示例。如果您正苦于以下问题:Python Glyph.getPointPen方法的具体用法?Python Glyph.getPointPen怎么用?Python Glyph.getPointPen使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类defcon.Glyph
的用法示例。
在下文中一共展示了Glyph.getPointPen方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_copyDataFromGlyph
# 需要导入模块: from defcon import Glyph [as 别名]
# 或者: from defcon.Glyph import getPointPen [as 别名]
def test_copyDataFromGlyph(self):
source = Glyph()
source.name = "a"
source.width = 1
source.height = 2
source.unicodes = [3, 4]
source.note = "test image"
source.image = dict(fileName="test image", xScale=1, xyScale=1,
yxScale=1, yScale=1, xOffset=0, yOffset=0,
color=None)
source.anchors = [dict(x=100, y=200, name="test anchor")]
source.guidelines = [dict(x=10, y=20, name="test guideline")]
source.lib = {"foo": "bar"}
pen = source.getPointPen()
pen.beginPath()
pen.addPoint((100, 200), segmentType="line")
pen.addPoint((300, 400), segmentType="line")
pen.endPath()
component = Component()
component.base = "b"
source.appendComponent(component)
dest = Glyph()
dest.copyDataFromGlyph(source)
self.assertNotEqual(source.name, dest.name)
self.assertEqual(source.width, dest.width)
self.assertEqual(source.height, dest.height)
self.assertEqual(source.unicodes, dest.unicodes)
self.assertEqual(source.note, dest.note)
self.assertEqual(source.image.items(), dest.image.items())
self.assertEqual([g.items() for g in source.guidelines],
[g.items() for g in dest.guidelines])
self.assertEqual([g.items() for g in source.anchors],
[g.items() for g in dest.anchors])
self.assertEqual(len(source), len(dest))
self.assertEqual(len(source.components), len(dest.components))
sourceContours = []
for contour in source:
sourceContours.append([])
for point in contour:
sourceContours[-1].append((point.x, point.x,
point.segmentType, point.name))
destContours = []
for contour in dest:
destContours.append([])
for point in contour:
destContours[-1].append((point.x, point.x,
point.segmentType, point.name))
self.assertEqual(sourceContours, destContours)
self.assertEqual(source.components[0].baseGlyph,
dest.components[0].baseGlyph)
示例2: glyph_to_quadratic
# 需要导入模块: from defcon import Glyph [as 别名]
# 或者: from defcon.Glyph import getPointPen [as 别名]
def glyph_to_quadratic(glyph, max_n, max_err, correctDirection=True,
verbose=False):
""" Convert the glyph outline to TrueType quadratic splines. """
new = Glyph()
writerPen = new.getPointPen()
cu2quPen = Cu2QuPen(writerPen, max_n, max_err, verbose)
if correctDirection:
reversePen = ReverseContourPointPen(cu2quPen)
glyph.drawPoints(reversePen)
else:
glyph.drawPoints(cu2quPen)
# clear glyph but keep anchors for mark, mkmk features
glyph.clearContours()
glyph.clearComponents()
writerPen = glyph.getPointPen()
new.drawPoints(writerPen)
示例3: getGlyphFromDict
# 需要导入模块: from defcon import Glyph [as 别名]
# 或者: from defcon.Glyph import getPointPen [as 别名]
def getGlyphFromDict(glyph_dict):
g = Glyph()
# Set attributes
g.height = glyph_dict.get('height', 0)
g.lib = glyph_dict.get('lib', {})
g.name = glyph_dict.get('name', '')
g.note = glyph_dict.get('note', None)
g.unicode = glyph_dict.get('unicode', None)
g.unicodes = glyph_dict.get('unicodes', [])
g.width = glyph_dict.get('width', 0)
# Draw the outlines with a pen
pen = g.getPointPen()
for contour in glyph_dict.get('contours', []):
pen.beginPath()
for point in contour:
pen.addPoint(
(
point.get('x'),
point.get('y')
),
segmentType = point.get('type', None),
name = point.get('name', None),
smooth = point.get('smooth', None),
)
pen.endPath()
# Add components
for component in glyph_dict.get('components', []):
c = Component()
c.baseGlyph = component.get('ref', '')
c.transformation = component.get('transformation', (1, 0, 0, 1, 0, 0))
g.appendComponent(c)
# Add anchors
for anchor in glyph_dict.get('anchors', []):
a = Anchor(anchorDict = anchor)
g.appendAnchor(a)
# Return the completed glyph object
return g
示例4: test_correct_direction_same_area
# 需要导入模块: from defcon import Glyph [as 别名]
# 或者: from defcon.Glyph import getPointPen [as 别名]
def test_correct_direction_same_area(self):
glyph = Glyph()
pen = glyph.getPointPen()
pen.beginPath()
pen.addPoint((0, 0), segmentType="line")
pen.addPoint((0, 50), segmentType="line")
pen.addPoint((50, 50), segmentType="line")
pen.endPath()
pen.beginPath()
pen.addPoint((50, 50), segmentType="line")
pen.addPoint((50, 100), segmentType="line")
pen.addPoint((100, 100), segmentType="line")
pen.endPath()
try:
glyph.correctContourDirection()
except Exception as e:
self.fail("glyph.correctContourDirection() raised unexpected exception: "
+ str(e))
示例5: getGlyph
# 需要导入模块: from defcon import Glyph [as 别名]
# 或者: from defcon.Glyph import getPointPen [as 别名]
def getGlyph(self):
glyph = Glyph()
pointPen = glyph.getPointPen()
self.drawPoints(pointPen)
return glyph
示例6: test_identifiers
# 需要导入模块: from defcon import Glyph [as 别名]
# 或者: from defcon.Glyph import getPointPen [as 别名]
def test_identifiers(self):
glyph = Glyph()
pointPen = glyph.getPointPen()
pointPen.beginPath(identifier="contour 1")
pointPen.addPoint((0, 0), identifier="point 1")
pointPen.addPoint((0, 0), identifier="point 2")
pointPen.endPath()
pointPen.beginPath(identifier="contour 2")
pointPen.endPath()
pointPen.addComponent("A", (1, 1, 1, 1, 1, 1),
identifier="component 1")
pointPen.addComponent("A", (1, 1, 1, 1, 1, 1),
identifier="component 2")
guideline = Guideline()
guideline.identifier = "guideline 1"
glyph.appendGuideline(guideline)
guideline = Guideline()
guideline.identifier = "guideline 2"
glyph.appendGuideline(guideline)
self.assertEqual([contour.identifier for contour in glyph],
["contour 1", "contour 2"])
self.assertEqual([point.identifier for point in glyph[0]],
["point 1", "point 2"])
self.assertEqual(
[component.identifier for component in glyph.components],
["component 1", "component 2"])
with self.assertRaises(AssertionError):
pointPen.beginPath(identifier="contour 1")
pointPen.endPath()
pointPen.beginPath()
pointPen.addPoint((0, 0))
with self.assertRaises(AssertionError):
pointPen.addPoint((0, 0), identifier="point 1")
pointPen.endPath()
with self.assertRaises(AssertionError):
pointPen.addComponent("A", (1, 1, 1, 1, 1, 1),
identifier="component 1")
g = Guideline()
g.identifier = "guideline 1"
with self.assertRaises(AssertionError):
glyph.appendGuideline(g)
self.assertEqual(
sorted(glyph.identifiers),
["component 1", "component 2", "contour 1", "contour 2",
"guideline 1", "guideline 2", "point 1", "point 2"])
glyph.removeContour(glyph[0])
self.assertEqual(
sorted(glyph.identifiers),
["component 1", "component 2", "contour 2",
"guideline 1", "guideline 2"])
glyph.removeComponent(glyph.components[0])
self.assertEqual(
sorted(glyph.identifiers),
["component 2", "contour 2", "guideline 1", "guideline 2"])
glyph.removeGuideline(glyph.guidelines[0])
self.assertEqual(
sorted(glyph.identifiers),
["component 2", "contour 2", "guideline 2"])