summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorMatthew Petroff <matthew@mpetroff.net>2013-09-12 23:14:21 +0000
committerMatthew Petroff <matthew@mpetroff.net>2013-09-12 23:14:21 +0000
commit51c44884aca2d41b8b38df329835e2a3c2d4e0ef (patch)
tree3b7576e868b9edbabc1bc77d5e0320971ddad243 /share
parentFinish fixing document unit change undo bug. (diff)
parentMerge in fix for critical blocker #166371 (diff)
downloadinkscape-51c44884aca2d41b8b38df329835e2a3c2d4e0ef.tar.gz
inkscape-51c44884aca2d41b8b38df329835e2a3c2d4e0ef.zip
Merge from trunk.
(bzr r12475.1.16)
Diffstat (limited to 'share')
-rw-r--r--share/extensions/Makefile.am3
-rw-r--r--share/extensions/fontfix.conf55
-rw-r--r--[-rwxr-xr-x]share/extensions/simplestyle.py2
-rw-r--r--share/extensions/test/Makefile.am2
-rwxr-xr-xshare/extensions/test/run-all-extension-tests48
-rw-r--r--share/extensions/text_merge.inx34
-rw-r--r--share/extensions/text_merge.py199
-rw-r--r--share/templates/A4.svg5
-rw-r--r--share/templates/A4_landscape.svg5
-rw-r--r--share/templates/CD_cover_300dpi.svg5
-rw-r--r--share/templates/CD_label_120x120.svg7
-rw-r--r--share/templates/DVD_cover_regular_300dpi.svg7
-rw-r--r--share/templates/DVD_cover_slim_300dpi.svg7
-rw-r--r--share/templates/DVD_cover_superslim_300dpi.svg7
-rw-r--r--share/templates/DVD_cover_ultraslim_300dpi.svg7
-rw-r--r--share/templates/LaTeX_Beamer.svg7
-rw-r--r--share/templates/Letter.svg5
-rw-r--r--share/templates/Letter_landscape.svg5
-rw-r--r--share/templates/Typography_Canvas.svg7
-rw-r--r--share/templates/black_opaque.svg5
-rw-r--r--share/templates/business_card_85x54mm.svg5
-rw-r--r--share/templates/business_card_90x50mm.svg5
-rw-r--r--share/templates/desktop_1024x768.svg5
-rw-r--r--share/templates/desktop_1600x1200.svg5
-rw-r--r--share/templates/desktop_640x480.svg5
-rw-r--r--share/templates/desktop_800x600.svg5
-rw-r--r--share/templates/fontforge_glyph.svg6
-rw-r--r--share/templates/icon_16x16.svg5
-rw-r--r--share/templates/icon_32x32.svg5
-rw-r--r--share/templates/icon_48x48.svg5
-rw-r--r--share/templates/icon_64x64.svg5
-rw-r--r--share/templates/no_borders.svg5
-rw-r--r--share/templates/no_layers.svg5
-rw-r--r--share/templates/video_HDTV_1920x1080.svg7
-rw-r--r--share/templates/video_NTSC_720x486.svg7
-rw-r--r--share/templates/video_PAL_720x576.svg7
-rw-r--r--share/templates/web_banner_468x60.svg5
-rw-r--r--share/templates/web_banner_728x90.svg5
-rw-r--r--share/templates/web_banners.svg7
-rw-r--r--share/templates/white_opaque.svg5
40 files changed, 526 insertions, 5 deletions
diff --git a/share/extensions/Makefile.am b/share/extensions/Makefile.am
index d9597b33f..cc9b6b517 100644
--- a/share/extensions/Makefile.am
+++ b/share/extensions/Makefile.am
@@ -166,6 +166,7 @@ extensions = \
text_flipcase.py \
text_randomcase.py \
text_braille.py \
+ text_merge.py \
triangle.py \
txt2svg.pl \
uniconv-ext.py \
@@ -184,6 +185,7 @@ extensions = \
yocto_css.py
otherstuff = \
+ fontfix.conf \
inkweb.js \
jessyInk.js \
jessyInk_core_mouseHandler_noclick.js \
@@ -348,6 +350,7 @@ modules = \
text_flipcase.inx \
text_randomcase.inx \
text_braille.inx \
+ text_merge.inx \
triangle.inx \
txt2svg.inx \
voronoi2svg.inx \
diff --git a/share/extensions/fontfix.conf b/share/extensions/fontfix.conf
new file mode 100644
index 000000000..4f66174c9
--- /dev/null
+++ b/share/extensions/fontfix.conf
@@ -0,0 +1,55 @@
+# This file contains correction factors for the PowerPoint compensation method
+# when files are saved to EMF. PowerPoint applies some odd offsets when it ungroups
+# fonts from within an EMF. This file contains compensating factors so that the
+# imported, ungrouped characters end up in the desired location.
+#
+# Format(s)
+#
+# # a comment
+#
+# f1 f2 f3 FontName
+# where
+# f1: vertical (rotating) correction factor (a double)
+# f2: vertical (nonrotating) correction factor (a double)
+# f3: horizontal (nonrotating) correction factor (a double)
+# FontName: Case sensitive, may contain spaces. Example: Times New Roman
+#
+# The first font will listed will be used as the default for any font which
+# is later requested but was not explicitly listed.
+#
+# If f1 specifies a multiplicative correction factor. It is multiplied by the font size
+# and then the character is offset parallel to the (original) vertical direction of the character,
+# that is, along the long part of a capital L.
+#
+# If f2 or f3 is nonzero then for angles <1 degree from 0,90,180,270 degrees
+# the angle is snapped to n*90 and f2 is used for the vertical displacements, f3
+# for the horizontal displacements (that is, for 90 degrees, f3 is used).
+#
+# There is are one special type of fontname: Convert To FontName,
+# for instance "Convert To Symbol". It is used when EMF print converts
+# from unicode to Symbol, Wingdings, or Zapf Dingbats.
+#
+# Positive values lower the letter, negative raise it
+#
+# File history:
+# 1.0.0 03/26/2012, David Mathog, initial values
+#####################################################################
+0.05 -0.055 -0.065 Arial
+0.05 -0.055 -0.065 Times New Roman
+-0.025 -0.055 -0.065 Lucida Sans
+0.05 -0.055 -0.065 Sans
+-0.05 -0.055 -0.065 Microsoft Sans Serif
+0.05 -0.055 -0.065 Serif
+0.05 -0.055 -0.065 Garamond
+0.25 0.025 0.025 Century Schoolbook
+0.025 0.0 0.0 Verdana
+0.045 0.025 0.025 Tahoma
+0.025 0.0 0.0 Symbol
+0.05 0.0 0.0 Wingdings
+0.025 0.0 0.0 Zapf Dingbats
+0.025 0.0 0.0 Convert To Symbol
+0.05 0.0 0.0 Convert To Wingdings
+0.025 0.0 0.0 Convert To Zapf Dingbats
+0.1 0.0 0.0 Sylfaen
+0.175 0.125 0.125 Palatino Linotype
+0.1 0.0 0.0 Segoe UI
diff --git a/share/extensions/simplestyle.py b/share/extensions/simplestyle.py
index c97d57e75..99b5938dd 100755..100644
--- a/share/extensions/simplestyle.py
+++ b/share/extensions/simplestyle.py
@@ -176,7 +176,7 @@ def parseStyle(s):
if s is None:
return {}
else:
- return dict([[x.strip() for x in i.split(":")] for i in s.split(";") if len(i)])
+ return dict([[x.strip() for x in i.split(":")] for i in s.split(";") if len(i.strip())])
def formatStyle(a):
"""Format an inline style attribute from a dictionary"""
diff --git a/share/extensions/test/Makefile.am b/share/extensions/test/Makefile.am
index f7c59970f..9c3124351 100644
--- a/share/extensions/test/Makefile.am
+++ b/share/extensions/test/Makefile.am
@@ -20,7 +20,6 @@ EXTRA_DIST = \
foldablebox.test.py \
fractalize.test.py \
funcplot.test.py \
- gears.test.py \
gimp_xcf.test.py \
grid_cartesian.test.py \
grid_polar.test.py \
@@ -45,6 +44,7 @@ EXTRA_DIST = \
radiusrand.test.py \
render_alphabetsoup.test.py \
render_barcode.test.py \
+ render_gears.test.py \
restack.test.py \
rtree.test.py \
run-all-extension-tests \
diff --git a/share/extensions/test/run-all-extension-tests b/share/extensions/test/run-all-extension-tests
index e7cba78f4..aa20c8c7b 100755
--- a/share/extensions/test/run-all-extension-tests
+++ b/share/extensions/test/run-all-extension-tests
@@ -1,12 +1,39 @@
#!/bin/bash
+# TODO: check for GNU mktemp and sed (from coreutils), else exit
+# ---------------------------------------------------------------------
+# solution below is based on
+# <http://www.ooblick.com/weblog/2011/05/12/a-couple-of-shell-quickies/>
+
+# Wrapper function for GNU mktemp
+gnu_mktemp() {
+ mktemp "$@"
+}
+
+# Wrapper function for BSD mktemp
+bsd_mktemp() {
+ mktemp -t tmpfile.XXXXXX "$@"
+}
+
+# Try to figure out which wrapper to use
+if mktemp -V | grep version >/dev/null 2>&1; then
+ MKTEMP=gnu_mktemp
+else
+ MKTEMP=bsd_mktemp
+fi
+
+#mytmpfile=`$MKTEMP`
+echo "MKTEMP to be used: $MKTEMP"
+
+# ---------------------------------------------------------------------
+
echo -e "\n##### Extension Tests #####"
cd "$(dirname "$0")"
has_py_coverage=false
-py_cover_files=$( mktemp )
-failed_tests=$( mktemp )
+py_cover_files=$( $MKTEMP )
+failed_tests=$( $MKTEMP )
if coverage.py -e >/dev/null 2>/dev/null; then
has_py_coverage=true
@@ -39,8 +66,23 @@ function run_py_test() {
tot_FAILED=0
+# TODO: check for GNU mktemp and sed (from coreutils), else exit
+# ---------------------------------------------------------------------
+# solution below is based on
+# <http://notmuchmail.org/pipermail/notmuch/2011/004579.html>
+
+if [ `sed --version >/dev/null 2>/dev/null && echo 1` ]; then
+ SED_EXTENDED='sed -r' # GNU sed (e.g. on Linux)
+else
+ SED_EXTENDED='sed -E' # BSD sed (e.g. on Mac OS X)
+fi
+
+echo "sed regex command: $SED_EXTENDED"
+
+# ---------------------------------------------------------------------
+
for testFile in *.test.py; do
- if ! run_py_test $( echo $testFile | sed -r 's/^([^.]+)..*$/\1/' ); then
+ if ! run_py_test $( echo $testFile | $SED_EXTENDED 's/^([^.]+)..*$/\1/' ); then
let tot_FAILED++
fi
done
diff --git a/share/extensions/text_merge.inx b/share/extensions/text_merge.inx
new file mode 100644
index 000000000..c871f52c0
--- /dev/null
+++ b/share/extensions/text_merge.inx
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
+ <_name>Merge</_name>
+ <id>org.inkscape.text.merge</id>
+ <dependency type="executable" location="extensions">text_merge.py</dependency>
+ <dependency type="executable" location="extensions">inkex.py</dependency>
+ <param name="direction" type="enum" _gui-text="Text direction:">
+ <_item value="lr">Left to right</_item>
+ <_item value="bt">Bottom to top</_item>
+ <_item value="rl">Right to left</_item>
+ <_item value="tb">Top to bottom</_item>
+ </param>
+ <param name="xanchor" type="enum" _gui-text="Horizontal point:">
+ <_item value="l">Left</_item>
+ <_item value="m">Middle</_item>
+ <_item value="r">Right</_item>
+ </param>
+ <param name="yanchor" type="enum" _gui-text="Vertical point:">
+ <_item value="t">Top</_item>
+ <_item value="m">Middle</_item>
+ <_item value="b">Bottom</_item>
+ </param>
+ <param name="flowtext" type="boolean" _gui-text="Flow text">false</param>
+ <param name="keepstyle" type="boolean" _gui-text="Keep style">true</param>
+ <effect>
+ <object-type>all</object-type>
+ <effects-menu>
+ <submenu _name="Text"/>
+ </effects-menu>
+ </effect>
+ <script>
+ <command reldir="extensions" interpreter="python">text_merge.py</command>
+ </script>
+</inkscape-extension>
diff --git a/share/extensions/text_merge.py b/share/extensions/text_merge.py
new file mode 100644
index 000000000..8cd8b751d
--- /dev/null
+++ b/share/extensions/text_merge.py
@@ -0,0 +1,199 @@
+#!/usr/bin/env python
+"""
+Copyright (C) 2013 Nicolas Dufour (jazzynico)
+Direction code from the Restack extension, by Rob Antonishen
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+"""
+# standard library
+import chardataeffect
+import copy
+import csv
+import math
+import os
+import string
+try:
+ from subprocess import Popen, PIPE
+ bsubprocess = True
+except:
+ bsubprocess = False
+# local library
+import inkex
+
+
+class Merge(inkex.Effect):
+ def __init__(self):
+ inkex.Effect.__init__(self)
+ self.OptionParser.add_option("-d", "--direction",
+ action="store", type="string",
+ dest="direction", default="tb",
+ help="direction to merge text")
+ self.OptionParser.add_option("-x", "--xanchor",
+ action="store", type="string",
+ dest="xanchor", default="m",
+ help="horizontal point to compare")
+ self.OptionParser.add_option("-y", "--yanchor",
+ action="store", type="string",
+ dest="yanchor", default="m",
+ help="vertical point to compare")
+ self.OptionParser.add_option("-t", "--flowtext",
+ action="store", type="inkbool",
+ dest="flowtext", default=False,
+ help="use a flow text structure instead of a normal text element")
+ self.OptionParser.add_option("-k", "--keepstyle",
+ action="store", type="inkbool",
+ dest="keepstyle", default=False,
+ help="keep format")
+
+ def effect(self):
+ if len(self.selected)==0:
+ for node in self.document.xpath('//svg:text | //svg:flowRoot', namespaces=inkex.NSS):
+ self.selected[node.get('id')] = node
+
+ if len( self.selected ) > 0:
+ objlist = []
+ svg = self.document.getroot()
+ parentnode = self.current_layer
+ file = self.args[ -1 ]
+
+ #get all bounding boxes in file by calling inkscape again with the --query-all command line option
+ #it returns a comma seperated list structured id,x,y,w,h
+ if bsubprocess:
+ p = Popen('inkscape --query-all "%s"' % (file), shell=True, stdout=PIPE, stderr=PIPE)
+ err = p.stderr
+ f = p.communicate()[0]
+ try:
+ reader=csv.CSVParser().parse_string(f) #there was a module cvs.py in earlier inkscape that behaved differently
+ except:
+ reader=csv.reader(f.split( os.linesep ))
+ err.close()
+ else:
+ _,f,err = os.popen3('inkscape --query-all "%s"' % ( file ) )
+ reader=csv.reader( f )
+ err.close()
+
+ #build a dictionary with id as the key
+ dimen = dict()
+ for line in reader:
+ if len(line) > 0:
+ dimen[line[0]] = map( float, line[1:])
+
+ if not bsubprocess: #close file if opened using os.popen3
+ f.close
+
+ #find the center of all selected objects **Not the average!
+ x,y,w,h = dimen[self.selected.keys()[0]]
+ minx = x
+ miny = y
+ maxx = x + w
+ maxy = y + h
+
+ for id, node in self.selected.iteritems():
+ # get the bounding box
+ x,y,w,h = dimen[id]
+ if x < minx:
+ minx = x
+ if (x + w) > maxx:
+ maxx = x + w
+ if y < miny:
+ miny = y
+ if (y + h) > maxy:
+ maxy = y + h
+
+ midx = (minx + maxx) / 2
+ midy = (miny + maxy) / 2
+
+ #calculate distances for each selected object
+ for id, node in self.selected.iteritems():
+ # get the bounding box
+ x,y,w,h = dimen[id]
+
+ # calc the comparison coords
+ if self.options.xanchor == "l":
+ cx = x
+ elif self.options.xanchor == "r":
+ cx = x + w
+ else: # middle
+ cx = x + w / 2
+
+ if self.options.yanchor == "t":
+ cy = y
+ elif self.options.yanchor == "b":
+ cy = y + h
+ else: # middle
+ cy = y + h / 2
+
+ #direction chosen
+ if self.options.direction == "tb":
+ objlist.append([cy,id])
+ elif self.options.direction == "bt":
+ objlist.append([-cy,id])
+ elif self.options.direction == "lr":
+ objlist.append([cx,id])
+ elif self.options.direction == "rl":
+ objlist.append([-cx,id])
+
+ objlist.sort()
+ #move them to the top of the object stack in this order.
+
+ if self.options.flowtext:
+ self.text_element = "flowRoot"
+ self.text_span = "flowPara"
+ else:
+ self.text_element = "text"
+ self.text_span = "tspan"
+
+ self.textRoot=inkex.etree.SubElement(parentnode,inkex.addNS(self.text_element,'svg'),{inkex.addNS('space','xml'):'preserve'})
+ self.textRoot.set(inkex.addNS('style', ''), 'font-size:20px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;')
+
+ for item in objlist:
+ self.recurse(self.selected[item[1]], self.textRoot)
+
+ if self.options.flowtext:
+ self.region=inkex.etree.SubElement(self.textRoot,inkex.addNS('flowRegion','svg'),{inkex.addNS('space','xml'):'preserve'})
+ self.rect=inkex.etree.SubElement(self.region,inkex.addNS('rect','svg'),{inkex.addNS('space','xml'):'preserve'})
+ self.rect.set(inkex.addNS('height', ''), '200')
+ self.rect.set(inkex.addNS('width', ''), '200')
+
+ def recurse(self, node, span):
+ #istext = (node.tag == '{http://www.w3.org/2000/svg}flowPara' or node.tag == '{http://www.w3.org/2000/svg}flowDiv' or node.tag == '{http://www.w3.org/2000/svg}tspan')
+ if node.tag != '{http://www.w3.org/2000/svg}flowRegion':
+
+ newspan=inkex.etree.SubElement(span,inkex.addNS(self.text_span,'svg'),{inkex.addNS('space','xml'):'preserve'})
+
+ if node.get('{http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd}role'):
+ newspan.set(inkex.addNS('role', 'sodipodi'), node.get('{http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd}role'))
+ if (node.tag == '{http://www.w3.org/2000/svg}text' or node.tag == '{http://www.w3.org/2000/svg}flowPara'):
+ newspan.set(inkex.addNS('role', 'sodipodi'), 'line')
+
+ if self.options.keepstyle:
+ if node.get('style'):
+ newspan.set(inkex.addNS('style', ''), node.get('style'))
+
+ if node.text != None:
+ newspan.text = node.text
+ for child in node:
+ self.recurse(child, newspan)
+
+if __name__ == '__main__':
+ e = Merge()
+ e.affect()
+
+# vim: expandtab shiftwidth=4 tabstop=8 softtabstop=4 encoding=utf-8 textwidth=99
diff --git a/share/templates/A4.svg b/share/templates/A4.svg
index e19a88fce..d7351690e 100644
--- a/share/templates/A4.svg
+++ b/share/templates/A4.svg
@@ -36,5 +36,10 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>A4 Page</inkscape:_name>
+ <inkscape:_short>Empty A4 sheet</inkscape:_short>
+ <inkscape:_keywords>A4 paper sheet empty</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" />
</svg>
diff --git a/share/templates/A4_landscape.svg b/share/templates/A4_landscape.svg
index 6711be22f..7b167019f 100644
--- a/share/templates/A4_landscape.svg
+++ b/share/templates/A4_landscape.svg
@@ -33,5 +33,10 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>A4 Landscape Page</inkscape:_name>
+ <inkscape:_short>Empty A4 landscape sheet</inkscape:_short>
+ <inkscape:_keywords>A4 paper sheet empty landscape</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" />
</svg>
diff --git a/share/templates/CD_cover_300dpi.svg b/share/templates/CD_cover_300dpi.svg
index 1d8a1769d..632bacd10 100644
--- a/share/templates/CD_cover_300dpi.svg
+++ b/share/templates/CD_cover_300dpi.svg
@@ -33,5 +33,10 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>CD Cover 300dpi</inkscape:_name>
+ <inkscape:_short>Empty CD box cover.</inkscape:_short>
+ <inkscape:_keywords>CD cover disc disk 300dpi box</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" />
</svg>
diff --git a/share/templates/CD_label_120x120.svg b/share/templates/CD_label_120x120.svg
index c5c74a656..cc0029e15 100644
--- a/share/templates/CD_label_120x120.svg
+++ b/share/templates/CD_label_120x120.svg
@@ -78,6 +78,13 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>CD Label 120x120 </inkscape:_name>
+ <inkscape:author>JazzyNico</inkscape:author>
+ <inkscape:_short>Simple CD Label template with disc's pattern.</inkscape:_short>
+ <inkscape:date>2010-11-15</inkscape:date>
+ <inkscape:_keywords>CD label 120x120 disc disk</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
diff --git a/share/templates/DVD_cover_regular_300dpi.svg b/share/templates/DVD_cover_regular_300dpi.svg
index 8b1b854e4..66465b8ae 100644
--- a/share/templates/DVD_cover_regular_300dpi.svg
+++ b/share/templates/DVD_cover_regular_300dpi.svg
@@ -75,6 +75,13 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>DVD Cover Regular 300dpi </inkscape:_name>
+ <inkscape:author>cmarqu</inkscape:author>
+ <inkscape:_short>Template for both-sides DVD covers.</inkscape:_short>
+ <inkscape:date>2006-06-21</inkscape:date>
+ <inkscape:_keywords>DVD cover regular 300dpi</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
diff --git a/share/templates/DVD_cover_slim_300dpi.svg b/share/templates/DVD_cover_slim_300dpi.svg
index 517c095d0..e9402b39a 100644
--- a/share/templates/DVD_cover_slim_300dpi.svg
+++ b/share/templates/DVD_cover_slim_300dpi.svg
@@ -75,6 +75,13 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>DVD Cover Slim 300dpi </inkscape:_name>
+ <inkscape:author>cmarqu</inkscape:author>
+ <inkscape:_short>Template for both-sides DVD slim covers.</inkscape:_short>
+ <inkscape:date>2006-06-21</inkscape:date>
+ <inkscape:_keywords>DVD cover slim 300dpi</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
diff --git a/share/templates/DVD_cover_superslim_300dpi.svg b/share/templates/DVD_cover_superslim_300dpi.svg
index eed521534..842b951c1 100644
--- a/share/templates/DVD_cover_superslim_300dpi.svg
+++ b/share/templates/DVD_cover_superslim_300dpi.svg
@@ -75,6 +75,13 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>DVD Cover Superslim 300dpi </inkscape:_name>
+ <inkscape:author>cmarqu</inkscape:author>
+ <inkscape:_short>Template for both-sides DVD superslim covers.</inkscape:_short>
+ <inkscape:date>2006-06-21</inkscape:date>
+ <inkscape:_keywords>DVD cover superslim 300dpi</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
diff --git a/share/templates/DVD_cover_ultraslim_300dpi.svg b/share/templates/DVD_cover_ultraslim_300dpi.svg
index 0f2a2ccdd..0f0ead540 100644
--- a/share/templates/DVD_cover_ultraslim_300dpi.svg
+++ b/share/templates/DVD_cover_ultraslim_300dpi.svg
@@ -75,6 +75,13 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>DVD Cover Ultraslim 300dpi </inkscape:_name>
+ <inkscape:author>cmarqu</inkscape:author>
+ <inkscape:_short>Template for both-sides DVD ultraslim covers.</inkscape:_short>
+ <inkscape:date>2006-06-21</inkscape:date>
+ <inkscape:_keywords>DVD cover ultraslim 300dpi</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
diff --git a/share/templates/LaTeX_Beamer.svg b/share/templates/LaTeX_Beamer.svg
index 43e49ea29..50e50143f 100644
--- a/share/templates/LaTeX_Beamer.svg
+++ b/share/templates/LaTeX_Beamer.svg
@@ -79,6 +79,13 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>LaTeX Beamer</inkscape:_name>
+ <inkscape:author>jiho-sf</inkscape:author>
+ <inkscape:_short>LaTeX beamer template with helping grid.</inkscape:_short>
+ <inkscape:date>2007-05-20</inkscape:date>
+ <inkscape:_keywords>LaTex LaTeX latex grid beamer</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
diff --git a/share/templates/Letter.svg b/share/templates/Letter.svg
index 9ebba869d..111952610 100644
--- a/share/templates/Letter.svg
+++ b/share/templates/Letter.svg
@@ -33,5 +33,10 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Letter</inkscape:_name>
+ <inkscape:_short>Standard letter sheet - 612x792</inkscape:_short>
+ <inkscape:_keywords>letter 612x792 empty</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" />
</svg>
diff --git a/share/templates/Letter_landscape.svg b/share/templates/Letter_landscape.svg
index 89decc1cd..262729ec8 100644
--- a/share/templates/Letter_landscape.svg
+++ b/share/templates/Letter_landscape.svg
@@ -33,5 +33,10 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Letter Landscape</inkscape:_name>
+ <inkscape:_short>Standard letter landscape sheet - 792x612</inkscape:_short>
+ <inkscape:_keywords>letter landscape 792x612 empty</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" />
</svg>
diff --git a/share/templates/Typography_Canvas.svg b/share/templates/Typography_Canvas.svg
index 76dd48e6f..2b9773807 100644
--- a/share/templates/Typography_Canvas.svg
+++ b/share/templates/Typography_Canvas.svg
@@ -75,6 +75,13 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Typography Canvas</inkscape:_name>
+ <inkscape:author>Felipe C. da S. Sanc...</inkscape:author>
+ <inkscape:_short>Empty typography canvas with helping guidelines.</inkscape:_short>
+ <inkscape:date>2011-05-26</inkscape:date>
+ <inkscape:_keywords>guidelines typography canvas</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g
id="layer1"
inkscape:groupmode="layer"
diff --git a/share/templates/black_opaque.svg b/share/templates/black_opaque.svg
index 065494f90..1b6cbbc69 100644
--- a/share/templates/black_opaque.svg
+++ b/share/templates/black_opaque.svg
@@ -32,5 +32,10 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Black Opaque</inkscape:_name>
+ <inkscape:_short>Empty black page</inkscape:_short>
+ <inkscape:_keywords>black opaque empty</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" />
</svg>
diff --git a/share/templates/business_card_85x54mm.svg b/share/templates/business_card_85x54mm.svg
index 1b13436f0..d8e28e29a 100644
--- a/share/templates/business_card_85x54mm.svg
+++ b/share/templates/business_card_85x54mm.svg
@@ -35,5 +35,10 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Business Card 85x54mm</inkscape:_name>
+ <inkscape:_short>Empty business card template.</inkscape:_short>
+ <inkscape:_keywords>business card empty 85x54</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" />
</svg>
diff --git a/share/templates/business_card_90x50mm.svg b/share/templates/business_card_90x50mm.svg
index 8cbb29bf6..2888d9a17 100644
--- a/share/templates/business_card_90x50mm.svg
+++ b/share/templates/business_card_90x50mm.svg
@@ -35,5 +35,10 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Business Card 90x50mm</inkscape:_name>
+ <inkscape:_short>Empty business card template.</inkscape:_short>
+ <inkscape:_keywords>business card empty 90x50</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" />
</svg>
diff --git a/share/templates/desktop_1024x768.svg b/share/templates/desktop_1024x768.svg
index bda4f7ae7..84d0bd097 100644
--- a/share/templates/desktop_1024x768.svg
+++ b/share/templates/desktop_1024x768.svg
@@ -33,5 +33,10 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Desktop 1024x768</inkscape:_name>
+ <inkscape:_short>Empty desktop size sheet</inkscape:_short>
+ <inkscape:_keywords>desktop 1024x768 wallpaper</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g id="layer1" inkscape:label="Layer 1" inkscape:groupmode="layer" />
</svg>
diff --git a/share/templates/desktop_1600x1200.svg b/share/templates/desktop_1600x1200.svg
index 6e98ce580..77fa49379 100644
--- a/share/templates/desktop_1600x1200.svg
+++ b/share/templates/desktop_1600x1200.svg
@@ -33,5 +33,10 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Desktop 1600x1200</inkscape:_name>
+ <inkscape:_short>Empty desktop size sheet</inkscape:_short>
+ <inkscape:_keywords>desktop 1600x1200 wallpaper</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g id="layer1" inkscape:label="Layer 1" inkscape:groupmode="layer" />
</svg>
diff --git a/share/templates/desktop_640x480.svg b/share/templates/desktop_640x480.svg
index f6f338015..9fee0812c 100644
--- a/share/templates/desktop_640x480.svg
+++ b/share/templates/desktop_640x480.svg
@@ -33,5 +33,10 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Desktop 640x480</inkscape:_name>
+ <inkscape:_short>Empty desktop size sheet</inkscape:_short>
+ <inkscape:_keywords>desktop 640x480 wallpaper</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g id="layer1" inkscape:label="Layer 1" inkscape:groupmode="layer" />
</svg>
diff --git a/share/templates/desktop_800x600.svg b/share/templates/desktop_800x600.svg
index b06632cf5..61b250b4b 100644
--- a/share/templates/desktop_800x600.svg
+++ b/share/templates/desktop_800x600.svg
@@ -34,5 +34,10 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Desktop 800x600</inkscape:_name>
+ <inkscape:_short>Empty desktop size sheet</inkscape:_short>
+ <inkscape:_keywords>desktop 800x600 wallpaper</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g id="layer1" inkscape:label="Layer 1" inkscape:groupmode="layer" />
</svg>
diff --git a/share/templates/fontforge_glyph.svg b/share/templates/fontforge_glyph.svg
index 6d007f0d0..84ea05753 100644
--- a/share/templates/fontforge_glyph.svg
+++ b/share/templates/fontforge_glyph.svg
@@ -46,6 +46,12 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Fontforge Glyph</inkscape:_name>
+ <inkscape:author>prokoudine</inkscape:author>
+ <inkscape:date>2007-11-11</inkscape:date>
+ <inkscape:_keywords>font fontforge glyph 1000x1000</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
diff --git a/share/templates/icon_16x16.svg b/share/templates/icon_16x16.svg
index f90bc0a5b..c21c5c1a1 100644
--- a/share/templates/icon_16x16.svg
+++ b/share/templates/icon_16x16.svg
@@ -35,6 +35,11 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Icon 16x16</inkscape:_name>
+ <inkscape:_short>Small 16x16 icon template.</inkscape:_short>
+ <inkscape:_keywords>icon 16x16 empty</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g
id="layer1"
inkscape:label="Layer 1"
diff --git a/share/templates/icon_32x32.svg b/share/templates/icon_32x32.svg
index d332dbe5d..1ad51df05 100644
--- a/share/templates/icon_32x32.svg
+++ b/share/templates/icon_32x32.svg
@@ -35,6 +35,11 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Icon 32x32</inkscape:_name>
+ <inkscape:_short>32x32 icon template.</inkscape:_short>
+ <inkscape:_keywords>icon 32x32 empty</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g
id="layer1"
inkscape:label="Layer 1"
diff --git a/share/templates/icon_48x48.svg b/share/templates/icon_48x48.svg
index d3946ff2d..ff4c0fb76 100644
--- a/share/templates/icon_48x48.svg
+++ b/share/templates/icon_48x48.svg
@@ -35,6 +35,11 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Icon 48x48</inkscape:_name>
+ <inkscape:_short>48x48 icon template.</inkscape:_short>
+ <inkscape:_keywords>icon 48x48 empty</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g
id="layer1"
inkscape:label="Layer 1"
diff --git a/share/templates/icon_64x64.svg b/share/templates/icon_64x64.svg
index e777e9dde..aac328323 100644
--- a/share/templates/icon_64x64.svg
+++ b/share/templates/icon_64x64.svg
@@ -36,6 +36,11 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Icon 64x64</inkscape:_name>
+ <inkscape:_short>64x64 icon template.</inkscape:_short>
+ <inkscape:_keywords>icon 64x64 empty</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g
id="layer1"
inkscape:label="Layer 1"
diff --git a/share/templates/no_borders.svg b/share/templates/no_borders.svg
index 874b21c11..70b5e4b32 100644
--- a/share/templates/no_borders.svg
+++ b/share/templates/no_borders.svg
@@ -33,5 +33,10 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>No Borders</inkscape:_name>
+ <inkscape:_short>Empty sheet with no borders</inkscape:_short>
+ <inkscape:_keywords>no borders empty</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" />
</svg>
diff --git a/share/templates/no_layers.svg b/share/templates/no_layers.svg
index adb50f8e8..e887ad508 100644
--- a/share/templates/no_layers.svg
+++ b/share/templates/no_layers.svg
@@ -32,4 +32,9 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>No Layers</inkscape:_name>
+ <inkscape:_short>Empty sheet with no layers</inkscape:_short>
+ <inkscape:_keywords>no layers empty</inkscape:_keywords>
+ </inkscape:_templateinfo>
</svg>
diff --git a/share/templates/video_HDTV_1920x1080.svg b/share/templates/video_HDTV_1920x1080.svg
index 050679aa7..c28082139 100644
--- a/share/templates/video_HDTV_1920x1080.svg
+++ b/share/templates/video_HDTV_1920x1080.svg
@@ -33,5 +33,12 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Video HDTV 1920x1080</inkscape:_name>
+ <inkscape:author>popolon2</inkscape:author>
+ <inkscape:_short>HDTV video template for 1920x1080 resolution.</inkscape:_short>
+ <inkscape:date>2006-10-14</inkscape:date>
+ <inkscape:_keywords>HDTV video empty 1920x1080</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g id="layer1" inkscape:label="Layer 1" inkscape:groupmode="layer" />
</svg>
diff --git a/share/templates/video_NTSC_720x486.svg b/share/templates/video_NTSC_720x486.svg
index f3ebe670b..22ee28205 100644
--- a/share/templates/video_NTSC_720x486.svg
+++ b/share/templates/video_NTSC_720x486.svg
@@ -33,5 +33,12 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Video NTSC 720x486</inkscape:_name>
+ <inkscape:author>popolon2</inkscape:author>
+ <inkscape:_short>NTSC video template for 720x486 resolution.</inkscape:_short>
+ <inkscape:date>2006-10-14</inkscape:date>
+ <inkscape:_keywords>NTSC video empty 720x486</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g id="layer1" inkscape:label="Layer 1" inkscape:groupmode="layer" />
</svg>
diff --git a/share/templates/video_PAL_720x576.svg b/share/templates/video_PAL_720x576.svg
index ee861b2fb..548176adf 100644
--- a/share/templates/video_PAL_720x576.svg
+++ b/share/templates/video_PAL_720x576.svg
@@ -33,5 +33,12 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Video PAL 728x576</inkscape:_name>
+ <inkscape:author>popolon2</inkscape:author>
+ <inkscape:_short>PAL video template for 728x576 resolution.</inkscape:_short>
+ <inkscape:date>2006-10-14</inkscape:date>
+ <inkscape:_keywords>PAL video empty 728x576</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g id="layer1" inkscape:label="Layer 1" inkscape:groupmode="layer" />
</svg>
diff --git a/share/templates/web_banner_468x60.svg b/share/templates/web_banner_468x60.svg
index 90fceb7de..9ca37f075 100644
--- a/share/templates/web_banner_468x60.svg
+++ b/share/templates/web_banner_468x60.svg
@@ -33,5 +33,10 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Web Banner 468x60</inkscape:_name>
+ <inkscape:_short>Empty 468x60 web banner template.</inkscape:_short>
+ <inkscape:_keywords>web banner 468x60 empty</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g id="layer1" inkscape:label="Layer 1" inkscape:groupmode="layer" />
</svg>
diff --git a/share/templates/web_banner_728x90.svg b/share/templates/web_banner_728x90.svg
index dc35b21bf..48f7237a4 100644
--- a/share/templates/web_banner_728x90.svg
+++ b/share/templates/web_banner_728x90.svg
@@ -33,5 +33,10 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Web Banner 728x90</inkscape:_name>
+ <inkscape:_short>Empty 728x90 web banner template.</inkscape:_short>
+ <inkscape:_keywords>web banner 728x90 empty</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g id="layer1" inkscape:label="Layer 1" inkscape:groupmode="layer" />
</svg>
diff --git a/share/templates/web_banners.svg b/share/templates/web_banners.svg
index 20fd9c41d..b074ac597 100644
--- a/share/templates/web_banners.svg
+++ b/share/templates/web_banners.svg
@@ -57,6 +57,13 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>Web Banners Collection</inkscape:_name>
+ <inkscape:author>Aurélio A. Heckert</inkscape:author>
+ <inkscape:_short>A collection of standard web banners</inkscape:_short>
+ <inkscape:date>2010-05-27</inkscape:date>
+ <inkscape:_keywords>web banners collection</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g
inkscape:label="Camada 1"
inkscape:groupmode="layer"
diff --git a/share/templates/white_opaque.svg b/share/templates/white_opaque.svg
index 8f2022b0b..d9f99d1ab 100644
--- a/share/templates/white_opaque.svg
+++ b/share/templates/white_opaque.svg
@@ -33,5 +33,10 @@
</cc:Work>
</rdf:RDF>
</metadata>
+ <inkscape:_templateinfo>
+ <inkscape:_name>White Opaque</inkscape:_name>
+ <inkscape:_short>Empty white page</inkscape:_short>
+ <inkscape:_keywords>white opaque empty</inkscape:_keywords>
+ </inkscape:_templateinfo>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" />
</svg>