blob: aec8717ed304ceb1f8c04375bc216282e8571761 (
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
|
import os
from inkex import NSS
from lxml import etree
from .base import InkstitchExtension
class LetteringRemoveKerning(InkstitchExtension):
'''
This extension helps font creators to generate the json file for the lettering tool
'''
def __init__(self, *args, **kwargs):
InkstitchExtension.__init__(self, *args, **kwargs)
self.arg_parser.add_argument("-p", "--font-files", type=str, default="", dest="paths")
def effect(self):
# file paths
paths = self.options.paths.split("|")
for path in paths:
if not os.path.isfile(path):
continue
with open(path, 'r+', encoding="utf-8") as fontfile:
svg = etree.parse(fontfile)
xpath = ".//svg:font[1]"
kerning = svg.xpath(xpath, namespaces=NSS)[0]
kerning.getparent().remove(kerning)
fontfile.seek(0)
fontfile.write(etree.tostring(svg).decode('utf-8'))
fontfile.truncate()
|