summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKaalleen <36401965+kaalleen@users.noreply.github.com>2025-02-13 18:05:54 +0100
committerGitHub <noreply@github.com>2025-02-13 18:05:54 +0100
commit942af5acb48cc2010c1280f72cc314f074fd8b11 (patch)
treeb6b476f23ba42173775c0ee0de2dd55c65846a0e /lib
parenta1badc255b19cdf83ee951207f1cc91787e2ca54 (diff)
fix a bug in lettering extensions when the last_font can't be found (#3508)
Diffstat (limited to 'lib')
-rw-r--r--lib/gui/edit_json/main_panel.py8
-rw-r--r--lib/gui/lettering_font_sample.py13
2 files changed, 17 insertions, 4 deletions
diff --git a/lib/gui/edit_json/main_panel.py b/lib/gui/edit_json/main_panel.py
index 895baef4..fd0d08d9 100644
--- a/lib/gui/edit_json/main_panel.py
+++ b/lib/gui/edit_json/main_panel.py
@@ -230,7 +230,13 @@ class LetteringEditJsonPanel(wx.Panel):
return glyph
def on_font_changed(self, event=None):
- self.font = self.fonts.get(self.settings_panel.font_chooser.GetValue(), list(self.fonts.values())[0].marked_custom_font_name)
+ selected_font = self.settings_panel.font_chooser.GetValue()
+ if selected_font:
+ self.font = self.fonts[selected_font]
+ else:
+ first = list(self.fonts.values())[0].marked_custom_font_name
+ self.font = self.fonts[first]
+ self.settings_panel.font_chooser.SetValue(first)
global_settings['last_font'] = self.font.marked_custom_font_name
self.kerning_pairs = self.font.kerning_pairs
self.font._load_variants()
diff --git a/lib/gui/lettering_font_sample.py b/lib/gui/lettering_font_sample.py
index 3335a830..862e3f7c 100644
--- a/lib/gui/lettering_font_sample.py
+++ b/lib/gui/lettering_font_sample.py
@@ -106,11 +106,12 @@ class FontSampleFrame(wx.Frame):
self.settings.SetSizer(settings_sizer)
self.main_panel.SetSizer(notebook_sizer)
+ max_line_width = global_settings['font_sampling_max_line_width']
+ self.max_line_width.SetValue(max_line_width)
+
self.set_font_list()
select_font = global_settings['last_font']
self.font_chooser.SetValue(select_font)
- max_line_width = global_settings['font_sampling_max_line_width']
- self.max_line_width.SetValue(max_line_width)
self.on_font_changed()
self.SetSizeHints(notebook_sizer.CalcMin())
@@ -132,7 +133,13 @@ class FontSampleFrame(wx.Frame):
self.font_chooser.Append(font.marked_custom_font_name)
def on_font_changed(self, event=None):
- self.font = self.fonts.get(self.font_chooser.GetValue(), list(self.fonts.values())[0].marked_custom_font_name)
+ selected_font = self.font_chooser.GetValue()
+ if selected_font:
+ self.font = self.fonts[selected_font]
+ else:
+ first = list(self.fonts.values())[0].marked_custom_font_name
+ self.font = self.fonts[first]
+ self.font_chooser.SetValue(first)
global_settings['last_font'] = self.font.marked_custom_font_name
self.scale_spinner.SetRange(int(self.font.min_scale * 100), int(self.font.max_scale * 100))
# font._load_variants()