From 8e0ef0c430ca11f0402c9a49ee669923472a3a00 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 2 Jun 2024 09:41:24 +0530 Subject: [PATCH] Fix spec generation for auto setting --- kittens/choose_fonts/backend.py | 1 + kittens/choose_fonts/face.go | 9 ++++++++- kittens/choose_fonts/types.go | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/kittens/choose_fonts/backend.py b/kittens/choose_fonts/backend.py index ff49553e0..03ed50bf5 100644 --- a/kittens/choose_fonts/backend.py +++ b/kittens/choose_fonts/backend.py @@ -131,6 +131,7 @@ def render_face_sample(font: Descriptor, opts: Options, dpi_x: float, dpi_y: flo 'psname': face.postscript_name(), 'features': get_features(face.get_features()), 'applied_features': face.applied_features(), + 'spec': spec_for_face(font['family'], face).as_setting, 'cell_width': 0, 'cell_height': 0, 'canvas_height': 0, 'canvas_width': width, } if is_variable(font): diff --git a/kittens/choose_fonts/face.go b/kittens/choose_fonts/face.go index 228008c69..8718d426d 100644 --- a/kittens/choose_fonts/face.go +++ b/kittens/choose_fonts/face.go @@ -33,8 +33,15 @@ func (self *face_panel) new_font_spec() (*FontSpec, error) { if err != nil { return nil, err } + if fs.system.val == "auto" { + if fs, err = NewFontSpec(self.current_preview.Spec, self.current_preview.Features); err != nil { + return nil, err + } + } fs.family = settable_string{self.family, true} - fs.variable_name = settable_string{self.current_preview.Variable_data.Variations_postscript_name_prefix, true} + if len(self.current_preview.Variable_data.Axes) > 0 { + fs.variable_name = settable_string{self.current_preview.Variable_data.Variations_postscript_name_prefix, true} + } return &fs, nil } diff --git a/kittens/choose_fonts/types.go b/kittens/choose_fonts/types.go index 2c1cd8023..7028a5e82 100644 --- a/kittens/choose_fonts/types.go +++ b/kittens/choose_fonts/types.go @@ -106,6 +106,7 @@ type RenderedSampleTransmit struct { Variable_data VariableData `json:"variable_data"` Style string `json:"style"` Psname string `json:"psname"` + Spec string `json:"spec"` Features map[string]FeatureData `json:"features"` Applied_features map[string]string `json:"applied_features"` Variable_named_style NamedStyle `json:"variable_named_style"`