From 98dac1020dc4ca3bffbf617fc1c9c2e33d37154f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 23 Apr 2024 09:02:40 +0530 Subject: [PATCH] Show the postscript variations name prefix when listing fonts --- kitty/fonts/__init__.py | 2 +- kitty/fonts/fontconfig.py | 4 ++-- kitty/fonts/list.py | 2 +- kitty/freetype.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/kitty/fonts/__init__.py b/kitty/fonts/__init__.py index 31ad6ec2f..f247fdd43 100644 --- a/kitty/fonts/__init__.py +++ b/kitty/fonts/__init__.py @@ -31,7 +31,7 @@ class NamedStyle(TypedDict): class VariableData(TypedDict): axes: Tuple[VariableAxis, ...] named_styles: Tuple[NamedStyle, ...] - + variations_postscript_name_prefix: str class FontFeature: diff --git a/kitty/fonts/fontconfig.py b/kitty/fonts/fontconfig.py index 11b7c7fe4..ac13c2760 100644 --- a/kitty/fonts/fontconfig.py +++ b/kitty/fonts/fontconfig.py @@ -51,11 +51,11 @@ def create_font_map(all_fonts: Tuple[FontConfigPattern, ...]) -> FontMap: @lru_cache() def all_fonts_map(monospaced: bool = True) -> FontMap: if monospaced: - ans = fc_list(FC_DUAL) + fc_list(FC_MONO) + ans = fc_list(spacing=FC_DUAL) + fc_list(spacing=FC_MONO) else: # allow non-monospaced and bitmapped fonts as these are used for # symbol_map - ans = fc_list(-1, True) + ans = fc_list(allow_bitmapped_fonts=True) return create_font_map(ans) diff --git a/kitty/fonts/list.py b/kitty/fonts/list.py index a0f91ef1d..a7fb606c1 100644 --- a/kitty/fonts/list.py +++ b/kitty/fonts/list.py @@ -59,7 +59,7 @@ def create_family_groups(monospaced: bool = True) -> Dict[str, List[ListedFont]] def show_variable(f: ListedFont, psnames: bool) -> None: vd = get_variable_data_for_descriptor(f) - p = italic(f['family']) + p = italic(vd['variations_postscript_name_prefix'] or f['family']) p = f"{p} {variable_font_label('Variable font')}" print(indented(p)) print(indented(variable_font_label('Axes of variation'), level=2)) diff --git a/kitty/freetype.c b/kitty/freetype.c index 2f0f59515..6d72b4309 100644 --- a/kitty/freetype.c +++ b/kitty/freetype.c @@ -849,7 +849,7 @@ get_variable_data(Face *self, PyObject *a UNUSED) { if (!s) return NULL; PyTuple_SET_ITEM(axes, i, s); } - return Py_BuildValue("{sO sO}", "axes", axes, "named_styles", named_styles); + return Py_BuildValue("{sO sO sN}", "axes", axes, "named_styles", named_styles, "variations_postscript_name_prefix", _get_best_name(self, 25)); } StringCanvas