本文整理匯總了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"])