summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Dufour <nicoduf@yahoo.fr>2011-08-30 20:19:30 +0000
committerJazzyNico <nicoduf@yahoo.fr>2011-08-30 20:19:30 +0000
commit276b43aaa9e8465770414909df519881da10e44a (patch)
treeabac90b5b699c6e34842b8239389a17b289fd6a9
parentFilters. Workaround for bug #808013 (Drop Shadow; 0.0 for blur doesn't work). (diff)
downloadinkscape-276b43aaa9e8465770414909df519881da10e44a.tar.gz
inkscape-276b43aaa9e8465770414909df519881da10e44a.zip
Extensions. New n-up layout extension (see bug #169955), thanks to Terry N. Brown.
Extensions. Moving Perfect Bound Cover and Printing Marks to the new Render>Layout submenu. (bzr r10603)
-rw-r--r--share/extensions/Makefile.am41
-rw-r--r--share/extensions/layout_nup.inx79
-rw-r--r--share/extensions/layout_nup.py90
-rw-r--r--share/extensions/layout_nup_pageframe.py229
-rw-r--r--share/extensions/perfectboundcover.inx24
-rw-r--r--share/extensions/printing-marks.inx86
6 files changed, 477 insertions, 72 deletions
diff --git a/share/extensions/Makefile.am b/share/extensions/Makefile.am
index 6a44781f5..a6815d932 100644
--- a/share/extensions/Makefile.am
+++ b/share/extensions/Makefile.am
@@ -63,7 +63,7 @@ extensions = \
fractalize.py \
funcplot.py \
gears.py\
- gcodetools.py\
+ gcodetools.py\
generate_voronoi.py \
gimp_xcf.py \
grid_cartesian.py \
@@ -74,7 +74,7 @@ extensions = \
handles.py \
hpgl_output.py \
ill2svg.pl \
- ink2canvas.py \
+ ink2canvas.py \
inkex.py \
Inkscape.pm \
inkwebeffect.py \
@@ -95,6 +95,8 @@ extensions = \
launch_webbrowser.py \
layers2svgfont.py \
svgfont2layers.py \
+ layout_nup.py \
+ layout_nup_pageframe.py \
lindenmayer.py \
lorem_ipsum.py \
markers_strokepaint.py \
@@ -145,8 +147,8 @@ extensions = \
svgcalendar.py \
svg_regex.py \
svg_and_media_zip_output.py \
- text_extract.py \
- svg_transform.py \
+ text_extract.py \
+ svg_transform.py \
text_uppercase.py \
text_lowercase.py \
text_sentencecase.py \
@@ -180,7 +182,7 @@ otherstuff = \
aisvg.xslt \
colors.xml \
jessyInk_video.svg \
- svg2fxg.xsl \
+ svg2fxg.xsl \
svg2xaml.xsl \
xaml2svg.xsl
@@ -233,17 +235,17 @@ modules = \
fractalize.inx \
funcplot.inx \
gears.inx\
- gcodetools_about.inx\
- gcodetools_area.inx\
- gcodetools_check_for_updates.inx\
- gcodetools_dxf_points.inx\
- gcodetools_engraving.inx\
- gcodetools_graffiti.inx\
- gcodetools_lathe.inx\
- gcodetools_orientation_points.inx\
- gcodetools_path_to_gcode.inx\
- gcodetools_prepare_path_for_plasma.inx\
- gcodetools_tools_library.inx\
+ gcodetools_about.inx\
+ gcodetools_area.inx\
+ gcodetools_check_for_updates.inx\
+ gcodetools_dxf_points.inx\
+ gcodetools_engraving.inx\
+ gcodetools_graffiti.inx\
+ gcodetools_lathe.inx\
+ gcodetools_orientation_points.inx\
+ gcodetools_path_to_gcode.inx\
+ gcodetools_prepare_path_for_plasma.inx\
+ gcodetools_tools_library.inx\
generate_voronoi.inx \
gimp_xcf.inx \
grid_cartesian.inx \
@@ -253,7 +255,7 @@ modules = \
guillotine.inx \
handles.inx \
hpgl_output.inx \
- ink2canvas.inx \
+ ink2canvas.inx \
inkscape_help_askaquestion.inx \
inkscape_help_commandline.inx \
inkscape_help_faq.inx\
@@ -278,6 +280,7 @@ modules = \
jessyInk_view.inx \
layers2svgfont.inx \
svgfont2layers.inx \
+ layout_nup.inx \
lindenmayer.inx \
lorem_ipsum.inx \
markers_strokepaint.inx \
@@ -316,11 +319,11 @@ modules = \
split.inx \
straightseg.inx \
summersnight.inx \
- svg2fxg.inx \
+ svg2fxg.inx \
svg2xaml.inx \
svg_and_media_zip_output.inx \
svgcalendar.inx \
- text_extract.inx \
+ text_extract.inx \
text_uppercase.inx\
text_lowercase.inx \
text_sentencecase.inx \
diff --git a/share/extensions/layout_nup.inx b/share/extensions/layout_nup.inx
new file mode 100644
index 000000000..bdf650722
--- /dev/null
+++ b/share/extensions/layout_nup.inx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
+ <_name>N-up layout</_name>
+ <id>org.greygreen.inkscape.effects.nup</id>
+ <dependency type="executable" location="extensions">layout_nup.py</dependency>
+ <dependency type="executable" location="extensions">layout_nup_pageframe.py</dependency>
+ <dependency type="executable" location="extensions">inkex.py</dependency>
+
+ <param name="tab" type="notebook">
+ <page name="pageDims" _gui-text="Page dimensions">
+ <param name="unit" _gui-text="Unit:" type="enum">
+ <item value="px">px</item>
+ <item value="pt">pt</item>
+ <item value="in">in</item>
+ <item value="cm">cm</item>
+ <item value="mm">mm</item>
+ </param>
+ <param name="pgSizeX" type="float" min="0.0" max="9999.0" _gui-text="Size X:">765</param>
+ <param name="pgSizeY" type="float" min="0.0" max="9999.0" _gui-text="Size Y:">990</param>
+ <_param name="pgMargin" type="description" appearance="header">Page margins</_param>
+ <param name="pgMarginTop" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Top:">0</param>
+ <param name="pgMarginBottom" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Bottom:">0</param>
+ <param name="pgMarginLeft" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Left:">0</param>
+ <param name="pgMarginRight" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Right:">0</param>
+ </page>
+ <page name="layoutDims" _gui-text="Layout dimensions">
+ <param name="rows" type="int" min="1" max="9999" _gui-text="Rows:">2</param>
+ <param name="cols" type="int" min="1" max="9999" _gui-text="Cols:">2</param>
+ <param name="sizeX" type="float" min="1" max="9999" _gui-text="Size X:">100</param>
+ <param name="sizeY" type="float" min="1" max="9999" _gui-text="Size Y:">200</param>
+ <param name="calculateSize" type="boolean" _gui-text="Auto calculate layout size">true</param>
+ <_param name="padding" type="description" appearance="header">Layout padding</_param>
+ <param name="paddingTop" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Top:">12</param>
+ <param name="paddingBottom" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Bottom:">12</param>
+ <param name="paddingLeft" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Left:">12</param>
+ <param name="paddingRight" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Right:">12</param>
+ <_param name="margin" type="description" appearance="header">Layout margins</_param>
+ <param name="marginTop" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Top:">0</param>
+ <param name="marginBottom" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Bottom:">0</param>
+ <param name="marginLeft" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Left:">0</param>
+ <param name="marginRight" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Right:">0</param>
+ </page>
+ <page name="marks" _gui-text="Marks">
+ <param name="showHolder" type="boolean" _gui-text="Place holder">true</param>
+ <param name="showCrosses" type="boolean" _gui-text="Cutting marks">true</param>
+ <param name="showInner" type="boolean" _gui-text="Padding guide">true</param>
+ <param name="showOuter" type="boolean" _gui-text="Margin guide">false</param>
+ <param name="showInnerBox" type="boolean" _gui-text="Padding box">false</param>
+ <param name="showOuterBox" type="boolean" _gui-text="Margin box">0</param>
+ </page>
+ <page name="help" _gui-text="Help">
+ <_param name="instructions" type="description" xml:space="preserve">
+Parameters:
+ * Page size: width and height.
+ * Page margins: extra space around each page.
+ * Layout rows and cols.
+ * Layout size: width and height, auto calculated if one is 0.
+ * Auto calculate layout size: don't use the layout size values.
+ * Layout margins: white space around each part of the layout.
+ * Layout padding: inner padding for each part of the layout.
+ </_param>
+ </page>
+ </param>
+
+ <effect needs-live-preview="true">
+ <object-type>all</object-type>
+ <effects-menu>
+ <submenu _name="Render">
+ <submenu _name="Layout"/>
+ </submenu>
+ </effects-menu>
+ </effect>
+
+ <script>
+ <command reldir="extensions" interpreter="python">layout_nup.py</command>
+ </script>
+</inkscape-extension>
+
+
diff --git a/share/extensions/layout_nup.py b/share/extensions/layout_nup.py
new file mode 100644
index 000000000..5f8451c45
--- /dev/null
+++ b/share/extensions/layout_nup.py
@@ -0,0 +1,90 @@
+#!/usr/bin/env python
+'''
+Copyright (C) 2007 Terry Brown, terry_n_brown@yahoo.com
+
+This program is free software; you can redistribute it and/or modify
+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
+
+import layout_nup_pageframe
+
+class Nup(inkex.Effect):
+ def __init__(self):
+ inkex.Effect.__init__(self)
+ opts = [('', '--unit', 'string', 'unit', 'px', ''),
+ ('', '--rows', 'int', 'rows', '2', ''),
+ ('', '--cols', 'int', 'cols', '2', ''),
+ ('', '--paddingTop', 'string', 'paddingTop', '', ''),
+ ('', '--paddingBottom', 'string', 'paddingBottom', '', ''),
+ ('', '--paddingLeft', 'string', 'paddingLeft', '', ''),
+ ('', '--paddingRight', 'string', 'paddingRight', '', ''),
+ ('', '--marginTop', 'string', 'marginTop', '', ''),
+ ('', '--marginBottom', 'string', 'marginBottom', '', ''),
+ ('', '--marginLeft', 'string', 'marginLeft', '', ''),
+ ('', '--marginRight', 'string', 'marginRight', '', ''),
+ ('', '--pgSizeX', 'string', 'pgSizeX', '', ''),
+ ('', '--pgSizeY', 'string', 'pgSizeY', '', ''),
+ ('', '--sizeX', 'string', 'sizeX', '', ''),
+ ('', '--sizeY', 'string', 'sizeY', '', ''),
+ ('', '--calculateSize', 'inkbool', 'calculateSize', True, ''),
+ ('', '--pgMarginTop', 'string', 'pgMarginTop', '', ''),
+ ('', '--pgMarginBottom', 'string', 'pgMarginBottom', '', ''),
+ ('', '--pgMarginLeft', 'string', 'pgMarginLeft', '', ''),
+ ('', '--pgMarginRight', 'string', 'pgMarginRight', '', ''),
+ ('', '--showHolder', 'inkbool', 'showHolder', True, ''),
+ ('', '--showCrosses', 'inkbool', 'showCrosses', True, ''),
+ ('', '--showInner', 'inkbool', 'showInner', True, ''),
+ ('', '--showOuter', 'inkbool', 'showOuter', False, ''),
+ ('', '--showInnerBox', 'inkbool', 'showInnerBox', False, ''),
+ ('', '--showOuterBox', 'inkbool', 'showOuterBox', False, ''),
+ ('', '--tab', 'string', 'tab', '', ''),
+ ]
+ for o in opts:
+ self.OptionParser.add_option(o[0], o[1], action="store", type=o[2],
+ dest=o[3], default=o[4], help=o[5])
+
+
+ def effect(self):
+ showList = []
+ for i in ['showHolder','showCrosses','showInner','showOuter',
+ 'showInnerBox','showOuterBox',]:
+ if getattr(self.options, i):
+ showList.append(i.lower().replace('show', ''))
+ o = self.options
+ self.pf = layout_nup_pageframe.GenerateNup(
+ unit=o.unit,
+ pgSize=(o.pgSizeX,o.pgSizeY),
+ pgMargin=(o.pgMarginTop,o.pgMarginRight,o.pgMarginBottom,o.pgMarginLeft),
+ num=(o.rows,o.cols),
+ calculateSize = o.calculateSize,
+ size=(o.sizeX,o.sizeY),
+ margin=(o.marginTop,o.marginRight,o.marginBottom,o.marginLeft),
+ padding=(o.paddingTop,o.paddingRight,o.paddingBottom,o.paddingLeft),
+ show=showList,
+ )
+
+ def setAttr(self, node, name, value):
+ attr = node.ownerDocument.createAttribute(name)
+ attr.value = value
+ node.attributes.setNamedItem(attr)
+
+ def output(self):
+ sys.stdout.write(self.pf)
+
+e = Nup()
+e.affect()
+
+
diff --git a/share/extensions/layout_nup_pageframe.py b/share/extensions/layout_nup_pageframe.py
new file mode 100644
index 000000000..1eec15805
--- /dev/null
+++ b/share/extensions/layout_nup_pageframe.py
@@ -0,0 +1,229 @@
+#@+leo-ver=4-thin
+#@+node:tbrown.20070622094435.1:@thin pageframe.py
+"""Create n-up SVG layouts"""
+
+#@+others
+#@+node:tbrown.20070622103716:imports
+import sys, inkex
+
+try:
+ import xml.etree.ElementTree as ElementTree
+except:
+ try:
+ from lxml import etree as ElementTree
+ except:
+ try:
+ from elementtree.ElementTree import ElementTree
+ except:
+ sys.stderr.write("""Requires ElementTree module, included
+in Python 2.5 or supplied by lxml or elementtree modules.
+
+""")
+#@-node:tbrown.20070622103716:imports
+#@+node:tbrown.20070622103716.1:expandTuple
+def expandTuple(unit, x, length = 4):
+ try:
+ iter(x)
+ except:
+ return None
+
+ if len(x) != length: x = x*2
+ if len(x) != length:
+ raise Exception("expandTuple: requires 2 or 4 item tuple")
+ try:
+ return tuple(map(lambda ev: (inkex.unittouu(str(eval(str(ev)))+unit)), x))
+ except:
+ return None
+#@-node:tbrown.20070622103716.1:expandTuple
+#@+node:tbrown.20070622103716.2:GenerateNup
+def GenerateNup(unit="px",
+ pgSize=("8.5*90","11*90"),
+ pgMargin=(0,0),
+ pgPadding=(0,0),
+ num=(2,2),
+ calculateSize=True,
+ size=None,
+ margin=(0,0),
+ padding=(20,20),
+ show=['default'],
+ container='svg',
+ returnTree = False,
+ ):
+ """Generate the SVG. Inputs are run through 'eval(str(x))' so you can use
+'8.5*72' instead of 612. Margin / padding dimension tuples can be
+(top & bottom, left & right) or (top, right, bottom, left).
+
+Keyword arguments:
+pgSize -- page size, width x height
+pgMargin -- extra space around each page
+pgPadding -- added to pgMargin
+n -- rows x cols
+size -- override calculated size, width x height
+margin -- white space around each piece
+padding -- inner padding for each piece
+show -- list of keywords indicating what to show
+ - 'crosses' - cutting guides
+ - 'inner' - inner boundary
+ - 'outer' - outer boundary
+container -- 'svg' or 'g'
+returnTree -- whether to return the ElementTree or the string
+"""
+
+ if 'default' in show:
+ show = set(show).union(['inner', 'innerbox', 'holder', 'crosses'])
+
+ pgMargin = expandTuple(unit, pgMargin)
+ pgPadding = expandTuple(unit, pgPadding)
+ margin = expandTuple(unit, margin)
+ padding = expandTuple(unit, padding)
+
+ pgSize = expandTuple(unit, pgSize, length = 2)
+# num = tuple(map(lambda ev: eval(str(ev)), num))
+
+ pgEdge = map(sum,zip(pgMargin, pgPadding))
+
+ top, right, bottom, left = 0,1,2,3
+ width, height = 0,1
+ rows, cols = 0,1
+ size = expandTuple(unit, size, length = 2)
+ if size == None or calculateSize == True or len(size) < 2 or size[0] == 0 or size[1] == 0:
+ size = ((pgSize[width]
+ - pgEdge[left] - pgEdge[right]
+ - num[cols]*(margin[left] + margin[right])) / num[cols],
+ (pgSize[height]
+ - pgEdge[top] - pgEdge[bottom]
+ - num[rows]*(margin[top] + margin[bottom])) / num[rows]
+ )
+ else:
+ size = expandTuple(unit, size, length = 2)
+
+ # sep is separation between same points on pieces
+ sep = (size[width]+margin[right]+margin[left],
+ size[height]+margin[top]+margin[bottom])
+
+ style = 'stroke:#000000;stroke-opacity:1;fill:none;fill-opacity:1;'
+
+ padbox = 'rect', {
+ 'x': str(pgEdge[left] + margin[left] + padding[left]),
+ 'y': str(pgEdge[top] + margin[top] + padding[top]),
+ 'width': str(size[width] - padding[left] - padding[right]),
+ 'height': str(size[height] - padding[top] - padding[bottom]),
+ 'style': style,
+ }
+ margbox = 'rect', {
+ 'x': str(pgEdge[left] + margin[left]),
+ 'y': str(pgEdge[top] + margin[top]),
+ 'width': str(size[width]),
+ 'height': str(size[height]),
+ 'style': style,
+ }
+
+ doc = ElementTree.ElementTree(ElementTree.Element(container,
+ {'xmlns:inkscape':"http://www.inkscape.org/namespaces/inkscape",
+ 'xmlns:xlink':"http://www.w3.org/1999/xlink",
+ 'width':str(pgSize[width]),
+ 'height':str(pgSize[height]),
+ }))
+
+ sub = ElementTree.SubElement
+
+ root = doc.getroot()
+
+ def makeClones(under, to):
+ for r in range(0,num[rows]):
+ for c in range(0,num[cols]):
+ if r == 0 and c == 0: continue
+ sub(under, 'use', {
+ 'xlink:href': '#' + to,
+ 'transform': 'translate(%f,%f)' %
+ (c*sep[width], r*sep[height])})
+
+ # guidelayer #####################################################
+ if set(['inner', 'outer']).intersection(show):
+ layer = sub(root, 'g', {'id':'guidelayer',
+ 'inkscape:groupmode':'layer'})
+ if 'inner' in show:
+ padbox[1]['id'] = 'innerguide'
+ padbox[1]['style'] = padbox[1]['style'].replace('stroke:#000000',
+ 'stroke:#8080ff')
+ sub(layer, *padbox)
+ del padbox[1]['id']
+ padbox[1]['style'] = padbox[1]['style'].replace('stroke:#8080ff',
+ 'stroke:#000000')
+ makeClones(layer, 'innerguide')
+ if 'outer' in show:
+ margbox[1]['id'] = 'outerguide'
+ margbox[1]['style'] = padbox[1]['style'].replace('stroke:#000000',
+ 'stroke:#8080ff')
+ sub(layer, *margbox)
+ del margbox[1]['id']
+ margbox[1]['style'] = padbox[1]['style'].replace('stroke:#8080ff',
+ 'stroke:#000000')
+ makeClones(layer, 'outerguide')
+
+ # crosslayer #####################################################
+ if set(['crosses']).intersection(show):
+ layer = sub(root, 'g', {'id':'cutlayer',
+ 'inkscape:groupmode':'layer'})
+
+ if 'crosses' in show:
+ crosslen = 12
+ group = sub(layer, 'g', id='cross')
+ x,y = 0,0
+ path = 'M%f %f' % (x+pgEdge[left] + margin[left],
+ y+pgEdge[top] + margin[top]-crosslen)
+ path += ' L%f %f' % (x+pgEdge[left] + margin[left],
+ y+pgEdge[top] + margin[top]+crosslen)
+ path += ' M%f %f' % (x+pgEdge[left] + margin[left]-crosslen,
+ y+pgEdge[top] + margin[top])
+ path += ' L%f %f' % (x+pgEdge[left] + margin[left]+crosslen,
+ y+pgEdge[top] + margin[top])
+ sub(group, 'path', style=style+'stroke-width:0.05',
+ d = path, id = 'crossmarker')
+ for r in 0, 1:
+ for c in 0, 1:
+ if r or c:
+ x,y = c*size[width], r*size[height]
+ sub(group, 'use', {
+ 'xlink:href': '#crossmarker',
+ 'transform': 'translate(%f,%f)' %
+ (x,y)})
+ makeClones(layer, 'cross')
+
+ # clonelayer #####################################################
+ layer = sub(root, 'g', {'id':'clonelayer', 'inkscape:groupmode':'layer'})
+ makeClones(layer, 'main')
+
+ # mainlayer ######################################################
+ layer = sub(root, 'g', {'id':'mainlayer', 'inkscape:groupmode':'layer'})
+ group = sub(layer, 'g', {'id':'main'})
+
+ if 'innerbox' in show:
+ sub(group, *padbox)
+ if 'outerbox' in show:
+ sub(group, *margbox)
+ if 'holder' in show:
+ x, y = (pgEdge[left] + margin[left] + padding[left],
+ pgEdge[top] + margin[top] + padding[top])
+ w, h = (size[width] - padding[left] - padding[right],
+ size[height] - padding[top] - padding[bottom])
+ path = 'M%f %f' % (x + w/2., y)
+ path += ' L%f %f' % (x + w, y + h/2.)
+ path += ' L%f %f' % (x + w/2., y + h)
+ path += ' L%f %f' % (x, y + h/2.)
+ path += ' Z'
+ sub(group, 'path', style=style, d = path)
+
+ if returnTree:
+ return doc
+ else:
+ return ElementTree.tostring(root)
+
+if __name__ == '__main__':
+ print GenerateNup(num=(10,3), margin=(5,5), show=['default', 'outer'])
+#@-node:tbrown.20070622103716.2:GenerateNup
+#@-others
+#@-node:tbrown.20070622094435.1:@thin pageframe.py
+#@-leo
+
+
diff --git a/share/extensions/perfectboundcover.inx b/share/extensions/perfectboundcover.inx
index f36ad64a6..20285e2a6 100644
--- a/share/extensions/perfectboundcover.inx
+++ b/share/extensions/perfectboundcover.inx
@@ -5,34 +5,36 @@
<dependency type="executable" location="extensions">perfectboundcover.py</dependency>
<dependency type="executable" location="extensions">inkex.py</dependency>
<_param name="book" type="description" appearance="header">Book Properties</_param>
- <param name="width" precision="3" type="float" min="0.0" max="100.000" _gui-text="Book Width (inches):">6</param>
- <param name="height" precision="3" type="float" min="0.0" max="100.000" _gui-text="Book Height (inches):">9</param>
- <param name="pages" type="int" min="4" max="6000" _gui-text="Number of Pages:">64</param>
- <param name="removeguides" type="boolean" _gui-text="Remove existing guides">true</param>
+ <param name="width" precision="3" type="float" indent="1" min="0.0" max="100.000" _gui-text="Book Width (inches):">6</param>
+ <param name="height" precision="3" type="float" indent="1" min="0.0" max="100.000" _gui-text="Book Height (inches):">9</param>
+ <param name="pages" type="int" indent="1" min="4" max="6000" _gui-text="Number of Pages:">64</param>
+ <param name="removeguides" type="boolean" indent="1" _gui-text="Remove existing guides">true</param>
<_param name="paper" type="description" appearance="header">Interior Pages</_param>
- <param name="paperthicknessmeasurement" _gui-text="Paper Thickness Measurement:" type="enum">
+ <param name="paperthicknessmeasurement" _gui-text="Paper Thickness Measurement:" type="enum" indent="1">
<_item value="ppi">Pages Per Inch (PPI)</_item>
<_item value="caliper">Caliper (inches)</_item>
<_item value="points">Points</_item>
<_item value="bond_weight">Bond Weight #</_item>
<_item value="width">Specify Width</_item>
</param>
- <param precision="4" name="paperthickness" type="float" min="0.000" max="1000.000" _gui-text="Value:">0</param>
+ <param precision="4" name="paperthickness" type="float" indent="1" min="0.000" max="1000.000" _gui-text="Value:">0</param>
<_param name="cover" type="description" appearance="header">Cover</_param>
- <param name="coverthicknessmeasurement" _gui-text="Cover Thickness Measurement:" type="enum">
+ <param name="coverthicknessmeasurement" _gui-text="Cover Thickness Measurement:" type="enum" indent="1">
<_item value="ppi">Pages Per Inch (PPI)</_item>
<_item value="caliper">Caliper (inches)</_item>
<_item value="points">Points</_item>
<_item value="bond_weight">Bond Weight #</_item>
<_item value="width">Specify Width</_item>
</param>
- <param precision="4" name="coverthickness" type="float" min="0.000" max="1000.000" _gui-text="Value:">0</param>
- <param precision="3" name="bleed" type="float" min="0.000" max="1.000" _gui-text="Bleed (in):">.25</param>
- <_param name="warning" type="description">Note: Bond Weight # calculations are a best-guess estimate.</_param>
+ <param precision="4" name="coverthickness" type="float" indent="1" min="0.000" max="1000.000" _gui-text="Value:">0</param>
+ <param precision="3" name="bleed" type="float" indent="1" min="0.000" max="1.000" _gui-text="Bleed (in):">.25</param>
+ <_param name="warning" type="description" indent="1">Note: Bond Weight # calculations are a best-guess estimate.</_param>
<effect>
<object-type>all</object-type>
<effects-menu>
- <submenu _name="Render"/>
+ <submenu _name="Render">
+ <submenu _name="Layout"/>
+ </submenu>
</effects-menu>
</effect>
<script>
diff --git a/share/extensions/printing-marks.inx b/share/extensions/printing-marks.inx
index e5e072c34..511c9675a 100644
--- a/share/extensions/printing-marks.inx
+++ b/share/extensions/printing-marks.inx
@@ -1,49 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
- <_name>Printing Marks</_name>
- <id>org.inkscape.printing.marks</id>
- <dependency type="executable" location="extensions">printing-marks.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
+ <_name>Printing Marks</_name>
+ <id>org.inkscape.printing.marks</id>
+ <dependency type="executable" location="extensions">printing-marks.py</dependency>
+ <dependency type="executable" location="extensions">inkex.py</dependency>
- <param name="tab" type="notebook">
- <page name="marks" _gui-text="Marks">
- <param name="crop_marks" type="boolean" _gui-text="Crop Marks">true</param>
- <param name="bleed_marks" type="boolean" _gui-text="Bleed Marks">false</param>
- <param name="registration_marks" type="boolean" _gui-text="Registration Marks">true</param>
- <param name="star_target" type="boolean" _gui-text="Star Target">false</param>
- <param name="colour_bars" type="boolean" _gui-text="Color Bars">true</param>
- <param name="page_info" type="boolean" _gui-text="Page Information">false</param>
- </page>
- <page name="pos" _gui-text="Positioning">
- <param name="where" type="enum" _gui-text="Set crop marks to:">
- <_item value="canvas">Canvas</_item>
- <_item value="selection">Selection</_item>
- </param>
- <param name="unit" _gui-text="Unit:" type="enum">
- <item value="px">px</item>
- <item value="pt">pt</item>
- <item value="in">in</item>
- <item value="cm">cm</item>
- <item value="mm">mm</item>
- </param>
- <param name="crop_offset" type="float" min="0.0" max="9999.0" _gui-text="Offset:">5</param>
- <_param name="bleed_settings" type="description" appearance="header">Bleed Margin</_param>
- <param name="bleed_top" type="float" min="0.0" max="9999.0" _gui-text="Top:">5</param>
- <param name="bleed_bottom" type="float" min="0.0" max="9999.0" _gui-text="Bottom:">5</param>
- <param name="bleed_left" type="float" min="0.0" max="9999.0" _gui-text="Left:">5</param>
- <param name="bleed_right" type="float" min="0.0" max="9999.0" _gui-text="Right:">5</param>
- </page>
- </param>
+ <param name="tab" type="notebook">
+ <page name="marks" _gui-text="Marks">
+ <param name="crop_marks" type="boolean" _gui-text="Crop Marks">true</param>
+ <param name="bleed_marks" type="boolean" _gui-text="Bleed Marks">false</param>
+ <param name="registration_marks" type="boolean" _gui-text="Registration Marks">true</param>
+ <param name="star_target" type="boolean" _gui-text="Star Target">false</param>
+ <param name="colour_bars" type="boolean" _gui-text="Color Bars">true</param>
+ <param name="page_info" type="boolean" _gui-text="Page Information">false</param>
+ </page>
+ <page name="pos" _gui-text="Positioning">
+ <param name="where" type="enum" _gui-text="Set crop marks to:">
+ <_item value="canvas">Canvas</_item>
+ <_item value="selection">Selection</_item>
+ </param>
+ <param name="unit" _gui-text="Unit:" type="enum">
+ <item value="px">px</item>
+ <item value="pt">pt</item>
+ <item value="in">in</item>
+ <item value="cm">cm</item>
+ <item value="mm">mm</item>
+ </param>
+ <param name="crop_offset" type="float" min="0.0" max="9999.0" _gui-text="Offset:">5</param>
+ <_param name="bleed_settings" type="description" appearance="header">Bleed Margin</_param>
+ <param name="bleed_top" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Top:">5</param>
+ <param name="bleed_bottom" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Bottom:">5</param>
+ <param name="bleed_left" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Left:">5</param>
+ <param name="bleed_right" type="float" indent="1" min="0.0" max="9999.0" _gui-text="Right:">5</param>
+ </page>
+ </param>
- <effect needs-live-preview="false">
- <object-type>all</object-type>
- <effects-menu>
- <submenu _name="Render"/>
- </effects-menu>
- </effect>
+ <effect needs-live-preview="false">
+ <object-type>all</object-type>
+ <effects-menu>
+ <submenu _name="Render">
+ <submenu _name="Layout"/>
+ </submenu>
+ </effects-menu>
+ </effect>
- <script>
- <command reldir="extensions" interpreter="python">printing-marks.py</command>
- </script>
+ <script>
+ <command reldir="extensions" interpreter="python">printing-marks.py</command>
+ </script>
</inkscape-extension>