diff --git a/Tests/images/variation_adobe_name.png b/Tests/images/variation_adobe_name.png index 11ceaf6e65b..5168e04b99b 100644 Binary files a/Tests/images/variation_adobe_name.png and b/Tests/images/variation_adobe_name.png differ diff --git a/Tests/test_imagefont.py b/Tests/test_imagefont.py index 16da87d469a..e4e3853fc2c 100644 --- a/Tests/test_imagefont.py +++ b/Tests/test_imagefont.py @@ -769,12 +769,14 @@ def test_variation_set_by_name(self): self._check_text(font, "Tests/images/variation_adobe.png", 11) for name in ["Bold", b"Bold"]: font.set_variation_by_name(name) - self._check_text(font, "Tests/images/variation_adobe_name.png", 11) + assert font.getname()[1] == "Bold" + self._check_text(font, "Tests/images/variation_adobe_name.png", 29) font = ImageFont.truetype("Tests/fonts/TINY5x3GX.ttf", 36) self._check_text(font, "Tests/images/variation_tiny.png", 40) for name in ["200", b"200"]: font.set_variation_by_name(name) + assert font.getname()[1] == "200" self._check_text(font, "Tests/images/variation_tiny_name.png", 40) def test_variation_set_by_axes(self): diff --git a/src/PIL/ImageFont.py b/src/PIL/ImageFont.py index a3b711c6077..9a12ba48d2b 100644 --- a/src/PIL/ImageFont.py +++ b/src/PIL/ImageFont.py @@ -795,7 +795,7 @@ def set_variation_by_name(self, name): names = self.get_variation_names() if not isinstance(name, bytes): name = name.encode() - index = names.index(name) + index = names.index(name) + 1 if index == getattr(self, "_last_variation_index", None): # When the same name is set twice in a row,