diff options
Diffstat (limited to 'lib/gui/edit_json/main_panel.py')
| -rw-r--r-- | lib/gui/edit_json/main_panel.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/gui/edit_json/main_panel.py b/lib/gui/edit_json/main_panel.py index b175f892..8b896629 100644 --- a/lib/gui/edit_json/main_panel.py +++ b/lib/gui/edit_json/main_panel.py @@ -20,6 +20,7 @@ from ...lettering.font_variant import FontVariant from ...lettering.categories import FONT_CATEGORIES from ...stitch_plan import stitch_groups_to_stitch_plan from ...svg.tags import SVG_PATH_TAG +from ...utils.settings import global_settings from ...utils.threading import ExitThread, check_stop_flag from .. import PreviewRenderer from . import HelpPanel, SettingsPanel @@ -69,7 +70,8 @@ class LetteringEditJsonPanel(wx.Panel): self.SetSizer(notebook_sizer) self.set_font_list() - self.settings_panel.font_chooser.SetValue(list(self.fonts.values())[0].marked_custom_font_name) + select_font = global_settings['last_font'] + self.settings_panel.font_chooser.SetValue(select_font) self.on_font_changed() self.SetSizeHints(notebook_sizer.CalcMin()) @@ -229,6 +231,7 @@ class LetteringEditJsonPanel(wx.Panel): 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) + global_settings['last_font'] = self.font.marked_custom_font_name self.kerning_pairs = self.font.kerning_pairs self.font._load_variants() self.default_variant = self.font.variants[self.font.json_default_variant] @@ -305,7 +308,10 @@ class LetteringEditJsonPanel(wx.Panel): self.settings_panel.font_kerning.size.SetValue(self.font.size) self.settings_panel.font_kerning.max_scale.SetValue(self.font.max_scale) self.settings_panel.font_kerning.min_scale.SetValue(self.font.min_scale) - self.settings_panel.font_kerning.horiz_adv_x_default.SetValue(self.font.horiz_adv_x_default) + if self.font.horiz_adv_x_default is None: + self.settings_panel.font_kerning.horiz_adv_x_default.SetValue(0.0) + else: + self.settings_panel.font_kerning.horiz_adv_x_default.SetValue(self.font.horiz_adv_x_default) self.settings_panel.font_kerning.horiz_adv_x_space.SetValue(self.font.word_spacing) def update_kerning_list(self): @@ -358,6 +364,10 @@ class LetteringEditJsonPanel(wx.Panel): with open(json_file, 'r') as font_data: data = json.load(font_data) + horiz_adv_x_default = self.font_meta['horiz_adv_x_default'] + if horiz_adv_x_default == 0: + horiz_adv_x_default = None + for key, val in self.font_meta.items(): data[key] = val horiz_adv_x = {key: val for key, val in self.horiz_adv_x.items() if val != self.font_meta['horiz_adv_x_default']} @@ -445,7 +455,7 @@ class LetteringEditJsonPanel(wx.Panel): node.set('transform', transform) horiz_adv_x_default = self.font_meta['horiz_adv_x_default'] - if horiz_adv_x_default is None: + if horiz_adv_x_default in [0, None]: horiz_adv_x_default = glyph.width + glyph.min_x position_x += self.font.horiz_adv_x.get(character, horiz_adv_x_default) - glyph.min_x |
