layers2svgfont.py revision 85c2483c05911b58196b86bda8097632a366f3ab
'''
Copyright (C) 2011 Felipe Correa da Silva Sanches <juca@members.fsf.org>
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
'''
import inkex
import sys
if l==label:
return 0
if node is None:
return node
return glyph
x, y = coordinates
if relative:
return (x, -y)
else:
# Get access to main SVG document element
if "GlyphLayer-" in label:
############################
#Option 1:
# Using clone (svg:use) as childnode of svg:glyph
#use = self.get_or_create(glyph, inkex.addNS('use', 'svg'))
#use.set(inkex.addNS('href', 'xlink'), "#"+group.get("id"))
#TODO: This code creates <use> nodes but they do not render on svg fonts dialog. why?
############################
#Option 2:
# Using svg:paths as childnodes of svg:glyph
#paths = group.findall(inkex.addNS('path', 'svg'))
#for p in paths:
# d = p.get("d")
# d = self.flip_cordinate_system(d, emsize, baseline)
# path = inkex.etree.SubElement(glyph, inkex.addNS('path', 'svg'))
# path.set("d", d)
############################
#Option 3:
# Using curve description in d attribute of svg:glyph
d = ""
for p in paths:
if __name__ == '__main__':
e = Layers2SVGFont()
e.affect()