diff options
| author | Matthew Petroff <matthew@mpetroff.net> | 2013-09-12 23:14:21 +0000 |
|---|---|---|
| committer | Matthew Petroff <matthew@mpetroff.net> | 2013-09-12 23:14:21 +0000 |
| commit | 51c44884aca2d41b8b38df329835e2a3c2d4e0ef (patch) | |
| tree | 3b7576e868b9edbabc1bc77d5e0320971ddad243 /share | |
| parent | Finish fixing document unit change undo bug. (diff) | |
| parent | Merge in fix for critical blocker #166371 (diff) | |
| download | inkscape-51c44884aca2d41b8b38df329835e2a3c2d4e0ef.tar.gz inkscape-51c44884aca2d41b8b38df329835e2a3c2d4e0ef.zip | |
Merge from trunk.
(bzr r12475.1.16)
Diffstat (limited to 'share')
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> |
