summaryrefslogtreecommitdiff
path: root/lib/extensions
diff options
context:
space:
mode:
authorKaalleen <36401965+kaalleen@users.noreply.github.com>2024-12-22 06:19:34 +0100
committerGitHub <noreply@github.com>2024-12-22 06:19:34 +0100
commit2f727b31ab34724ea1bc5098257bc647f9c2a864 (patch)
treee2b539c2a628b641c2c794a8e28c8580352968f1 /lib/extensions
parent11c883fe25c69fb0ee4c8b292e8a27d9dc9a2ba1 (diff)
Font management: add kerning tool (#3361)
Diffstat (limited to 'lib/extensions')
-rw-r--r--lib/extensions/__init__.py2
-rw-r--r--lib/extensions/lettering_kerning.py43
2 files changed, 45 insertions, 0 deletions
diff --git a/lib/extensions/__init__.py b/lib/extensions/__init__.py
index d5cfc8f8..d8ae5a79 100644
--- a/lib/extensions/__init__.py
+++ b/lib/extensions/__init__.py
@@ -36,6 +36,7 @@ from .lettering_custom_font_dir import LetteringCustomFontDir
from .lettering_font_sample import LetteringFontSample
from .lettering_force_lock_stitches import LetteringForceLockStitches
from .lettering_generate_json import LetteringGenerateJson
+from .lettering_kerning import LetteringKerning
from .lettering_remove_kerning import LetteringRemoveKerning
from .lettering_set_color_sort_index import LetteringSetColorSortIndex
from .lettering_update_json_glyphlist import LetteringUpdateJsonGlyphlist
@@ -105,6 +106,7 @@ __all__ = extensions = [About,
LetteringFontSample,
LetteringForceLockStitches,
LetteringGenerateJson,
+ LetteringKerning,
LetteringRemoveKerning,
LetteringSetColorSortIndex,
LetteringUpdateJsonGlyphlist,
diff --git a/lib/extensions/lettering_kerning.py b/lib/extensions/lettering_kerning.py
new file mode 100644
index 00000000..23fc75fc
--- /dev/null
+++ b/lib/extensions/lettering_kerning.py
@@ -0,0 +1,43 @@
+# Authors: see git history
+#
+# Copyright (c) 2010 Authors
+# Licensed under the GNU GPL version 3.0 or later. See the file LICENSE for details.
+
+import wx
+from inkex import Layer
+
+from ..gui.lettering_kerning import LetteringKerningPanel
+from ..gui.simulator import SplitSimulatorWindow
+from ..i18n import _
+from ..svg import get_correction_transform
+from ..utils.svg_data import get_pagecolor
+from .base import InkstitchExtension
+
+
+class LetteringKerning(InkstitchExtension):
+ '''
+ This extension helps font creators to generate an output of every glyph from a selected font
+ '''
+ def effect(self):
+ layer = Layer()
+ self.svg.add(layer)
+ transform = get_correction_transform(layer, child=True)
+ layer.transform = transform
+
+ metadata = self.get_inkstitch_metadata()
+ background_color = get_pagecolor(self.svg.namedview)
+
+ app = wx.App()
+ frame = SplitSimulatorWindow(
+ title=_("Ink/Stitch Font Kerning Tool"),
+ panel_class=LetteringKerningPanel,
+ layer=layer,
+ metadata=metadata,
+ background_color=background_color,
+ target_duration=1
+ )
+
+ frame.Show()
+ app.MainLoop()
+
+ self.svg.remove(layer)