summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLex Neva <github.com@lexneva.name>2018-12-18 20:16:54 -0500
committerLex Neva <github.com@lexneva.name>2019-03-08 19:57:11 -0500
commit003ee406a5bc5d31f5f62183fc5d67b4140a39f9 (patch)
tree6c33f9edd927e852defb09b6fe873bffffd41114
parentf30dba6728faf9c3ce8ad948a8ef5af6dfb83a95 (diff)
add trim checkbox
-rw-r--r--lib/extensions/lettering.py17
-rw-r--r--lib/lettering/font.py2
2 files changed, 12 insertions, 7 deletions
diff --git a/lib/extensions/lettering.py b/lib/extensions/lettering.py
index b6d67c0b..fd9c7628 100644
--- a/lib/extensions/lettering.py
+++ b/lib/extensions/lettering.py
@@ -38,6 +38,10 @@ class LetteringFrame(wx.Frame):
self.back_and_forth_checkbox.SetValue(self.settings.back_and_forth)
self.Bind(wx.EVT_CHECKBOX, lambda event: self.on_change("back_and_forth", event))
+ self.trim_checkbox = wx.CheckBox(self, label=_("Add trims"))
+ self.trim_checkbox.SetValue(bool(self.settings.trim))
+ self.Bind(wx.EVT_CHECKBOX, lambda event: self.on_change("trim", event))
+
# text editor
self.text_editor_box = wx.StaticBox(self, wx.ID_ANY, label=_("Text"))
@@ -86,15 +90,16 @@ class LetteringFrame(wx.Frame):
self.settings[attribute] = event.GetEventObject().GetValue()
self.preview.update()
- def generate_patches(self, abort_early=None):
- patches = []
-
+ def update_lettering(self):
font_path = os.path.join(get_bundled_dir("fonts"), self.settings.font)
font = Font(font_path)
+ self.group[:] = font.render_text(self.settings.text, back_and_forth=self.settings.back_and_forth, trim=self.settings.trim)
+
+ def generate_patches(self, abort_early=None):
+ patches = []
try:
- lines = font.render_text(self.settings.text, back_and_forth=self.settings.back_and_forth)
- self.group[:] = lines
+ self.update_lettering()
elements = nodes_to_elements(self.group.iterdescendants(SVG_PATH_TAG))
for element in elements:
@@ -131,7 +136,7 @@ class LetteringFrame(wx.Frame):
def apply(self, event):
self.preview.disable()
- self.generate_patches()
+ self.update_lettering()
self.save_settings()
self.close()
diff --git a/lib/lettering/font.py b/lib/lettering/font.py
index 9d0389a0..05465c8c 100644
--- a/lib/lettering/font.py
+++ b/lib/lettering/font.py
@@ -81,7 +81,7 @@ class Font(object):
kerning_pairs = font_metadata('kerning_pairs', {})
auto_satin = font_metadata('auto_satin', True)
- def render_text(self, text, variant=None, back_and_forth=True):
+ def render_text(self, text, variant=None, back_and_forth=True, trim=False):
if variant is None:
variant = self.default_variant