From 25c63bf2e1b83413395622450d6bc850f0d78e99 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 20 Jul 2024 14:21:30 +0530 Subject: [PATCH] Dont return a valid weight range if a family contains only a single weight --- kitty/fonts/fontconfig.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kitty/fonts/fontconfig.py b/kitty/fonts/fontconfig.py index 3913bf0d6..9c25a8de7 100644 --- a/kitty/fonts/fontconfig.py +++ b/kitty/fonts/fontconfig.py @@ -100,9 +100,11 @@ wr = WeightRange() def weight_range_for_family(family: str) -> WeightRange: faces = all_fonts_map(True)['family_map'].get(family_name_to_key(family), ()) mini, maxi, medium, bold = wr.minimum, wr.maximum, wr.medium, wr.bold + seen_weights = set() for face in faces: w = face['weight'] mini, maxi = min(w, mini), max(w, maxi) + seen_weights.add(w) s = face['style'].lower() if not s: continue @@ -115,6 +117,8 @@ def weight_range_for_family(family: str) -> WeightRange: medium = w elif s == 'medium' and medium == wr.medium: medium = w + if len(seen_weights) < 2: + return wr return WeightRange(mini, maxi, medium, bold)