Merge pull request #3140 from fonttools/solver-fix

[instancer-solver] Fix a bug
This commit is contained in:
Cosimo Lupo 2023-05-30 11:30:51 +01:00 committed by GitHub
commit b94c1288ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 2 deletions

View File

@ -102,7 +102,7 @@ def _solve(tent, axisLimit, negative=False):
# Crossing point on the axis.
crossing = peak + ((1 - gain) * (upper - peak) / (1 - outGain))
loc = (peak, peak, crossing)
loc = (axisDef, peak, crossing)
scalar = 1
# The part before the crossing point.

View File

@ -218,6 +218,18 @@ class RebaseTentTest(object):
(1, (0, 0.4, 1.99994)),
],
),
# https://github.com/fonttools/fonttools/issues/3139
pytest.param(
(0, 0.5, 1),
(-1, 0.25, 1),
[
(0.5, None),
(0.5, (0.0, 1 / 3, 2 / 3)),
(-0.5, (2 / 3, 1, 1)),
(-0.5, (-1, -0.2, 0)),
(-0.5, (-1, -1, -0.2)),
],
),
# Dirac delta at new default. Fancy!
pytest.param(
(0.5, 0.5, 0.5),
@ -233,7 +245,6 @@ class RebaseTentTest(object):
],
)
def test_rebaseTent(self, tent, axisRange, expected):
sol = solver.rebaseTent(tent, axisRange)
a = pytest.approx