kopia lustrzana https://github.com/inkstitch/inkstitch
split font files (#1929)
rodzic
7aee0979be
commit
971c921708
|
@ -160,6 +160,9 @@ class Font(object):
|
||||||
for variant in FontVariant.VARIANT_TYPES:
|
for variant in FontVariant.VARIANT_TYPES:
|
||||||
if os.path.isfile(os.path.join(self.path, "%s.svg" % variant)):
|
if os.path.isfile(os.path.join(self.path, "%s.svg" % variant)):
|
||||||
font_variants.append(variant)
|
font_variants.append(variant)
|
||||||
|
elif (os.path.isdir(os.path.join(self.path, "%s" % variant)) and
|
||||||
|
[svg for svg in os.listdir(os.path.join(self.path, "%s" % variant)) if svg.endswith('.svg')]):
|
||||||
|
font_variants.append(variant)
|
||||||
if not font_variants:
|
if not font_variants:
|
||||||
raise FontError(_("The font '%s' has no variants.") % self.name)
|
raise FontError(_("The font '%s' has no variants.") % self.name)
|
||||||
return font_variants
|
return font_variants
|
||||||
|
|
|
@ -60,7 +60,8 @@ class FontVariant(object):
|
||||||
self._load_glyphs()
|
self._load_glyphs()
|
||||||
|
|
||||||
def _load_glyphs(self):
|
def _load_glyphs(self):
|
||||||
svg_path = os.path.join(self.path, "%s.svg" % self.variant)
|
variant_file_paths = self._get_variant_file_paths()
|
||||||
|
for svg_path in variant_file_paths:
|
||||||
svg = inkex.load_svg(svg_path).getroot()
|
svg = inkex.load_svg(svg_path).getroot()
|
||||||
svg = self._apply_transforms(svg)
|
svg = self._apply_transforms(svg)
|
||||||
|
|
||||||
|
@ -74,6 +75,16 @@ class FontVariant(object):
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def _get_variant_file_paths(self):
|
||||||
|
file_paths = []
|
||||||
|
direct_path = os.path.join(self.path, "%s.svg" % self.variant)
|
||||||
|
if os.path.isfile(direct_path):
|
||||||
|
file_paths.append(direct_path)
|
||||||
|
elif os.path.isdir(os.path.join(self.path, "%s" % self.variant)):
|
||||||
|
path = os.path.join(self.path, "%s" % self.variant)
|
||||||
|
file_paths.extend([os.path.join(path, svg) for svg in os.listdir(path) if svg.endswith('.svg')])
|
||||||
|
return file_paths
|
||||||
|
|
||||||
def _clean_group(self, group):
|
def _clean_group(self, group):
|
||||||
# We'll repurpose the layer as a container group labelled with the
|
# We'll repurpose the layer as a container group labelled with the
|
||||||
# glyph.
|
# glyph.
|
||||||
|
|
Ładowanie…
Reference in New Issue