本文整理汇总了Python中fontTools.pens.ttGlyphPen.TTGlyphPen.qCurveTo方法的典型用法代码示例。如果您正苦于以下问题:Python TTGlyphPen.qCurveTo方法的具体用法?Python TTGlyphPen.qCurveTo怎么用?Python TTGlyphPen.qCurveTo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类fontTools.pens.ttGlyphPen.TTGlyphPen
的用法示例。
在下文中一共展示了TTGlyphPen.qCurveTo方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_remove_extra_move_points
# 需要导入模块: from fontTools.pens.ttGlyphPen import TTGlyphPen [as 别名]
# 或者: from fontTools.pens.ttGlyphPen.TTGlyphPen import qCurveTo [as 别名]
def test_remove_extra_move_points(self):
pen = TTGlyphPen(None)
pen.moveTo((0, 0))
pen.lineTo((100, 0))
pen.qCurveTo((100, 50), (50, 100), (0, 0))
pen.closePath()
self.assertEqual(len(pen.points), 4)
self.assertEqual(pen.points[0], (0, 0))
示例2: test_keep_duplicate_end_point
# 需要导入模块: from fontTools.pens.ttGlyphPen import TTGlyphPen [as 别名]
# 或者: from fontTools.pens.ttGlyphPen.TTGlyphPen import qCurveTo [as 别名]
def test_keep_duplicate_end_point(self):
pen = TTGlyphPen(None)
pen.moveTo((0, 0))
pen.lineTo((100, 0))
pen.qCurveTo((100, 50), (50, 100), (0, 0))
pen.lineTo((0, 0)) # the duplicate point is not removed
pen.closePath()
self.assertEqual(len(pen.points), 5)
self.assertEqual(pen.points[0], (0, 0))
示例3: test_keep_move_point
# 需要导入模块: from fontTools.pens.ttGlyphPen import TTGlyphPen [as 别名]
# 或者: from fontTools.pens.ttGlyphPen.TTGlyphPen import qCurveTo [as 别名]
def test_keep_move_point(self):
pen = TTGlyphPen(None)
pen.moveTo((0, 0))
pen.lineTo((100, 0))
pen.qCurveTo((100, 50), (50, 100), (30, 30))
# when last and move pts are different, closePath() implies a lineTo
pen.closePath()
self.assertEqual(len(pen.points), 5)
self.assertEqual(pen.points[0], (0, 0))
示例4: makeGlyfBBox1
# 需要导入模块: from fontTools.pens.ttGlyphPen import TTGlyphPen [as 别名]
# 或者: from fontTools.pens.ttGlyphPen.TTGlyphPen import qCurveTo [as 别名]
def makeGlyfBBox1(calcBBoxes=True, composite=False):
font = getTTFont(sfntTTFSourcePath, recalcBBoxes=calcBBoxes)
glyf = font["glyf"]
hmtx = font["hmtx"]
for name in ("bbox1", "bbox2"):
pen = TTGlyphPen(None)
if name == "bbox1":
pen.moveTo((0, 0))
pen.lineTo((0, 1000))
pen.lineTo((1000, 1000))
pen.lineTo((1000, 0))
pen.closePath()
else:
pen.moveTo((0, 0))
pen.qCurveTo((500, 750), (600, 500), (500, 250), (0, 0))
pen.closePath()
glyph = pen.glyph()
if not calcBBoxes:
glyph.recalcBounds(glyf)
glyph.xMax -= 100
glyf.glyphs[name] = glyph
hmtx.metrics[name] = (0, 0)
glyf.glyphOrder.append(name)
if composite:
name = "bbox3"
pen = TTGlyphPen(glyf.glyphOrder)
pen.addComponent("bbox1", [1, 0, 0, 1, 0, 0])
pen.addComponent("bbox2", [1, 0, 0, 1, 1000, 0])
glyph = pen.glyph()
glyph.recalcBounds(glyf)
glyf.glyphs[name] = glyph
hmtx.metrics[name] = (0, 0)
glyf.glyphOrder.append(name)
tableData = getSFNTData(font)[0]
font.close()
del font
header, directory, tableData = defaultSFNTTestData(tableData=tableData, flavor="TTF")
data = packSFNT(header, directory, tableData, flavor="TTF")
return data