예제 #1
0
 def test_quadOpen(self):
     tpen = _TestPointPen()
     pen = ReverseContourPointPen(tpen)
     pen.beginPath()
     pen.addPoint((0, 0), segmentType="move")
     pen.addPoint((0, 100))
     pen.addPoint((100, 200))
     pen.addPoint((200, 200), segmentType="qcurve")
     pen.endPath()
     self.assertEqual("beginPath() "
                      "addPoint((200, 200), segmentType='move') "
                      "addPoint((100, 200)) "
                      "addPoint((0, 100)) "
                      "addPoint((0, 0), segmentType='qcurve') "
                      "endPath()",
                      repr(tpen))
예제 #2
0
 def test_cubicClosed(self):
     tpen = _TestPointPen()
     pen = ReverseContourPointPen(tpen)
     pen.beginPath()
     pen.addPoint((0, 0), segmentType="line")
     pen.addPoint((0, 100))
     pen.addPoint((100, 200))
     pen.addPoint((200, 200), segmentType="curve")
     pen.endPath()
     self.assertEqual(
         "beginPath() "
         "addPoint((0, 0), segmentType='curve') "
         "addPoint((200, 200), segmentType='line') "
         "addPoint((100, 200)) "
         "addPoint((0, 100)) "
         "endPath()", repr(tpen))
예제 #3
0
 def test_closed_line_overlapping_start_end_points(self):
     # Test case from https://github.com/googlefonts/fontmake/issues/572
     tpen = _TestPointPen()
     pen = ReverseContourPointPen(tpen)
     pen.beginPath()
     pen.addPoint((0, 651), segmentType="line")
     pen.addPoint((0, 101), segmentType="line")
     pen.addPoint((0, 101), segmentType="line")
     pen.addPoint((0, 651), segmentType="line")
     pen.endPath()
     self.assertEqual(
         "beginPath() "
         "addPoint((0, 651), segmentType='line') "
         "addPoint((0, 651), segmentType='line') "
         "addPoint((0, 101), segmentType='line') "
         "addPoint((0, 101), segmentType='line') "
         "endPath()", repr(tpen))
예제 #4
0
 def test_quadNoOnCurve(self):
     tpen = _TestPointPen()
     pen = ReverseContourPointPen(tpen)
     pen.beginPath(identifier='bar')
     pen.addPoint((0, 0))
     pen.addPoint((0, 100), identifier='foo', arbitrary='foo')
     pen.addPoint((100, 200), arbitrary=123)
     pen.addPoint((200, 200))
     pen.endPath()
     pen.addComponent("base", [1, 0, 0, 1, 0, 0], identifier='foo')
     self.assertEqual("beginPath(identifier='bar') "
                      "addPoint((0, 0)) "
                      "addPoint((200, 200)) "
                      "addPoint((100, 200), arbitrary=123) "
                      "addPoint((0, 100), identifier='foo', arbitrary='foo') "
                      "endPath() "
                      "addComponent('base', [1, 0, 0, 1, 0, 0], identifier='foo')",
                      repr(tpen))