summaryrefslogtreecommitdiff
path: root/lib/extensions/lettering_kerning.py
blob: 23fc75fcf2fcf85c886df806b35d0f0ab92cf198 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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)