Skip to content

Commit fbc1f08

Browse files
authored
Merge pull request #738 from robotools/extract_guidelines_fromMathInfo
Extract guidelines from math info
2 parents f47b803 + 298d114 commit fbc1f08

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

Lib/fontParts/base/info.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -266,19 +266,17 @@ def _fromMathInfo(self, mathInfo, guidelines=True):
266266
"""
267267
Subclasses may override this method.
268268
"""
269-
self.guidelines = []
270269
mathInfo.extractInfo(self)
271270
font = self.font
272271
if guidelines:
273-
for guideline in self.guidelines:
272+
for guideline in mathInfo.guidelines:
274273
font.appendGuideline(
275274
position=(guideline["x"], guideline["y"]),
276275
angle=guideline["angle"],
277276
name=guideline["name"],
278277
color=guideline["color"]
279278
# XXX identifier is lost
280279
)
281-
del self.guidelines
282280

283281
def interpolate(self, factor, minInfo, maxInfo, round=True, suppressError=True):
284282
"""

Lib/fontParts/test/test_font.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -567,3 +567,23 @@ def test_copy(self):
567567
copy.selectedGuidelines,
568568
font.selectedGuidelines
569569
)
570+
571+
# -------------
572+
# Interpolation
573+
# -------------
574+
575+
def test_interpolate_global_guidelines(self):
576+
interpolated_font, _ = self.objectGenerator("font")
577+
font_min, _ = self.objectGenerator("font")
578+
font_min.appendGuideline(position=(0, 0), angle=0)
579+
font_max, _ = self.objectGenerator("font")
580+
font_max.appendGuideline(position=(200, 200), angle=0)
581+
interpolated_font.info.interpolate(0.5, font_min.info, font_max.info, round=True)
582+
self.assertEqual(
583+
len(interpolated_font.guidelines),
584+
1
585+
)
586+
self.assertEqual(
587+
interpolated_font.guidelines[0].position,
588+
(100, 100)
589+
)

0 commit comments

Comments
 (0)