Skip to content

Commit

Permalink
[instancer.solver] Test more
Browse files Browse the repository at this point in the history
  • Loading branch information
behdad committed Aug 17, 2022
1 parent ad83abf commit 9196af1
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 5 deletions.
5 changes: 3 additions & 2 deletions Lib/fontTools/varLib/instancer/solver.py
Expand Up @@ -61,7 +61,8 @@ def _solveWithGain(tent, axisLimit):
# we clamp +2.0 to the max F2Dot14 (~1.99994) for convenience
upper = axisDef + (axisMax - axisDef) * MAX_F2DOT14

out.append((1 - gain, (axisDef, peak, upper)))
if upper > axisDef:
out.append((0 - gain, (axisDef, peak, upper)))

# case 4: new limit doesn't fit; we need to chop the deltaset into two 'tents',
# because the shape of a triangle with part of one side cut off cannot be
Expand All @@ -70,7 +71,7 @@ def _solveWithGain(tent, axisLimit):
else:

loc1 = (axisDef, peak, axisMax)
scalar1 = 1
scalar1 = 0

loc2 = (peak, axisMax, axisMax)
scalar2 = supportScalar({'tag': axisMax}, {'tag': tent})
Expand Down
16 changes: 13 additions & 3 deletions Tests/varLib/instancer/solver_test.py
Expand Up @@ -84,12 +84,22 @@ class RebaseTentTest(object):
# With gain:
#
# Case 1neg
pytest.param(
(.0, .5, 1), (0, .5, 1),
[
(1, (-1, 0, 1)),
(-1, (0, 0, 1)),
(-1, (-1, -1, 0)),
]
),
# Case 1neg
pytest.param(
(.0, .5, 1), (0, .25, .5),
[
(.5, (-1, 0, 1)),
(.5, (0, 1, 1)),
(-.5, (0, 1, 1)),
(-.5, (-1, -1, 0)),
]
),
Expand All @@ -98,8 +108,8 @@ class RebaseTentTest(object):
pytest.param(
(.05, .55, 1), (0, .25, .5),
[
(.4, (-1, 0, 1)),
(.5, (0, 1, 1)),
(.4, (-1.0, 0.0, 1.0)),
(-.4, (0.0, 1.0, 1.0)),
(-.4, (-1, -.8, 0)),
(-.4, (-1, -1, -.8)),
]
Expand Down

0 comments on commit 9196af1

Please sign in to comment.