<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dch</id>
	<title>Inkscape Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dch"/>
	<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/Special:Contributions/Dch"/>
	<updated>2026-04-30T12:52:21Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=CalligraphedOutlineFill&amp;diff=14597</id>
		<title>CalligraphedOutlineFill</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=CalligraphedOutlineFill&amp;diff=14597"/>
		<updated>2007-05-10T18:55:58Z</updated>

		<summary type="html">&lt;p&gt;Dch: /* Expected Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Graphic Tablet users using the Calligraphy tool can easily draw sketches with variable width outlines. However, filling the interior area of such a calligraphed outline is not so easy: if you try to apply the Fill tool to the path you just created, you are actually changing the style of the outline stroke itself - not that of the area it encloses...&lt;br /&gt;
&lt;br /&gt;
You can manually copy the calligraphed outline and edit the dots it is made of to just remove the inner dots to obtain a path covering the area you are interested in, then apply the Fill tool to that new path...&lt;br /&gt;
or you can try using the Python extension with source code below.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
This extension was built on the observation that the Calligraphy tool creates a path that starts at the point where you started to draw, and is apparently completely made of curves (C commands in the &amp;quot;d&amp;quot; attribute of the created path element) - except for two lines (L commands in the &amp;quot;d&amp;quot; attribute): one marking the end of the stroke you drew (about mid way through the &amp;quot;d&amp;quot; element&amp;quot;), and one at the beginning of the stroke (last command in the &amp;quot;d&amp;quot; element before the final &amp;quot;z&amp;quot; command).&lt;br /&gt;
&lt;br /&gt;
The proposed extension will:&lt;br /&gt;
# loop through each of the paths you selected before calling the extension&lt;br /&gt;
# for each such path:&lt;br /&gt;
## create a copy of the current &amp;quot;path&amp;quot; element&lt;br /&gt;
## in the &amp;quot;d&amp;quot; attribute of that copied path: truncate away everything happening after the first &amp;quot;L&amp;quot; command encountered inside that attribute&lt;br /&gt;
## give a default style of &amp;quot;fill navy blue - no line&amp;quot; to that new path&lt;br /&gt;
## create a &amp;quot;g&amp;quot; element in the document, just before the presently selected path&lt;br /&gt;
## first put the duplicate path in that group&lt;br /&gt;
## put a copy of the original path inside the group (so that the original path is displayed in front of the created &amp;quot;fill&amp;quot; area)&lt;br /&gt;
## delete the original path from the document&lt;br /&gt;
&lt;br /&gt;
== Expected Issues ==&lt;br /&gt;
* In case the observation about &amp;quot;just two L commands being present inside a Calligraphy-tool generated path&amp;quot; is wrong, the extension will not produce the expected result&lt;br /&gt;
* If the extension is applied to anything else but a path just created with the Calligraphy tool, its behaviour will probably not be what you would like&lt;br /&gt;
* Especially: if you edit a path generated with the Calligraphy tool, the L position of the L commands inside the &amp;quot;d&amp;quot; attribute is not necessarily maintained. This will definitely make the results of subsequently using this extension unpredictable.&lt;br /&gt;
* Even if you do take the points above into account, it is most likely that small corrections will need to be applied to the dots corresponding to the very first and last ones in the original path. This is due to the &amp;quot;L&amp;quot; commands sometimes esthetically belonging to the shape you want to fill, sometimes not...&lt;br /&gt;
* Of course, using this extension makes most sense on a path that was meant to be a more or less closed area.&lt;br /&gt;
&lt;br /&gt;
== How to best use the extension ==&lt;br /&gt;
# draw your sketch with the Calligraphy tool (many separate strokes are OK)&lt;br /&gt;
# select all the strokes, the inside of which you would like to see filled in&lt;br /&gt;
# apply the extension&lt;br /&gt;
# fine-tune the start and end dots of the generated fill areas&lt;br /&gt;
# change the default fill color to the one you wish&lt;br /&gt;
# apply transforms to the generated groups of &amp;quot;original stroke + fill area&amp;quot; if you wish to alter their shapes&lt;br /&gt;
&lt;br /&gt;
== Source code ==&lt;br /&gt;
Two files to be created in the &amp;quot;extensions&amp;quot; folder of Inkscape&lt;br /&gt;
&lt;br /&gt;
=== File: fillstroke.inx ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension&amp;gt;&lt;br /&gt;
    &amp;lt;_name&amp;gt;FillStroke&amp;lt;/_name&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;org.dch.fillstroke&amp;lt;/id&amp;gt;&lt;br /&gt;
	&amp;lt;dependency type=&amp;quot;executable&amp;quot; location=&amp;quot;extensions&amp;quot;&amp;gt;fillstroke.py&amp;lt;/dependency&amp;gt;&lt;br /&gt;
	&amp;lt;dependency type=&amp;quot;executable&amp;quot; location=&amp;quot;extensions&amp;quot;&amp;gt;inkex.py&amp;lt;/dependency&amp;gt;&lt;br /&gt;
    &amp;lt;effect&amp;gt;&lt;br /&gt;
		&amp;lt;object-type&amp;gt;path&amp;lt;/object-type&amp;gt;&lt;br /&gt;
                &amp;lt;effects-menu&amp;gt;&lt;br /&gt;
                    &amp;lt;submenu _name=&amp;quot;Stroke&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/effects-menu&amp;gt;&lt;br /&gt;
    &amp;lt;/effect&amp;gt;&lt;br /&gt;
    &amp;lt;script&amp;gt;&lt;br /&gt;
        &amp;lt;command reldir=&amp;quot;extensions&amp;quot; interpreter=&amp;quot;python&amp;quot;&amp;gt;fillstroke.py&amp;lt;/command&amp;gt;&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/inkscape-extension&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File: fillstroke.py ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python &lt;br /&gt;
'''&lt;br /&gt;
Copyright (C) 2007 Didier Chalon, chalondidier@skynet.be&lt;br /&gt;
&lt;br /&gt;
version 2.2&lt;br /&gt;
 1.0: first working version - just connecting the average dots&lt;br /&gt;
 1.1: also average the tangents&lt;br /&gt;
 2.0: keep stroke outline by pruning before first L&lt;br /&gt;
 2.1: insert filled area before parent stroke&lt;br /&gt;
 2.2: group parent stroke and filled area&lt;br /&gt;
&lt;br /&gt;
From selected stroke:&lt;br /&gt;
* assume the stroke &amp;quot;end point&amp;quot; is the first L command in the d attribute&lt;br /&gt;
* prune before first L&lt;br /&gt;
&lt;br /&gt;
This program is free software; you can redistribute it and/or modify&lt;br /&gt;
it under the terms of the GNU General Public License as published by&lt;br /&gt;
the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;
(at your option) any later version.&lt;br /&gt;
&lt;br /&gt;
This program is distributed in the hope that it will be useful,&lt;br /&gt;
but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
You should have received a copy of the GNU General Public License&lt;br /&gt;
along with this program; if not, write to the Free Software&lt;br /&gt;
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA&lt;br /&gt;
'''&lt;br /&gt;
import inkex, simplepath&lt;br /&gt;
&lt;br /&gt;
class FillStroke(inkex.Effect):&lt;br /&gt;
    def __init__(self):&lt;br /&gt;
        inkex.Effect.__init__(self)&lt;br /&gt;
&lt;br /&gt;
    def effect(self):&lt;br /&gt;
&lt;br /&gt;
        for id in self.options.ids:&lt;br /&gt;
&lt;br /&gt;
            # just keep selected paths&lt;br /&gt;
            node = self.selected[id]&lt;br /&gt;
            if node.tagName =='path':&lt;br /&gt;
                d = node.attributes.getNamedItem('d').value&lt;br /&gt;
                #inkex.debug(d)&lt;br /&gt;
            else:&lt;br /&gt;
                self.options.ids.remove(id)&lt;br /&gt;
&lt;br /&gt;
            #find first L&lt;br /&gt;
            dEnd = d.find(&amp;quot;L&amp;quot;) - 1&lt;br /&gt;
            #inkex.debug(d[:dEnd])&lt;br /&gt;
&lt;br /&gt;
            #create group to hold parent stroke and filled area&lt;br /&gt;
            newGroup = self.document.createElement('svg:g')&lt;br /&gt;
            newGroup.setAttribute('inkscape:groupmode','layer')&lt;br /&gt;
&lt;br /&gt;
            #append group before parent stroke&lt;br /&gt;
            node.parentNode.insertBefore(newGroup,node)&lt;br /&gt;
&lt;br /&gt;
            #create filled area as stripped path&lt;br /&gt;
            newPath = self.document.createElement('svg:path')&lt;br /&gt;
            newPath.setAttribute('d',d[:dEnd])&lt;br /&gt;
            newPath.setAttribute('style','display:inline;fill:#00004a;stroke:none;stroke-opacity:1;fill-opacity:1')&lt;br /&gt;
&lt;br /&gt;
            #append stripped path to group&lt;br /&gt;
            newGroup.appendChild(newPath)&lt;br /&gt;
&lt;br /&gt;
            #copy parent stroke&lt;br /&gt;
            copyStroke = node.cloneNode(1)&lt;br /&gt;
&lt;br /&gt;
            #append copy of parent stroke to group&lt;br /&gt;
            newGroup.appendChild(copyStroke)&lt;br /&gt;
&lt;br /&gt;
            #remove original stroke&lt;br /&gt;
            node.parentNode.removeChild(node)&lt;br /&gt;
&lt;br /&gt;
e = FillStroke()&lt;br /&gt;
e.affect()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
I'm routinely using this extension for my own drawing purposes. Suggestions to improve the functionality, the quality of the code etc are quite welcome !&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Dch</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extension_repository&amp;diff=14595</id>
		<title>Extension repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extension_repository&amp;diff=14595"/>
		<updated>2007-05-10T18:51:54Z</updated>

		<summary type="html">&lt;p&gt;Dch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It would be very useful to have a central Internet repository for Inkscape extensions, similarly as Firefox has. This way, Inkscape could update installed extensions from the web site, with no need for the user to know if an extension is updated.&lt;br /&gt;
&lt;br /&gt;
What extensions are there? We can start listing them here:&lt;br /&gt;
* [http://www.ekips.org/comp/inkscape/ Inkscape Effects] - Aaron Spikes set of extensions is now included in Inkscape.&lt;br /&gt;
* [http://www.colibre.com.br/bin/view/Aurium/InkscapeCalendarShellScript InkscapeCalendarShellScript] - Create Calendars sucks or is impracticable if you do not have something that automatizes the process of to put the days organized in blocks of months to you. To format manually is easy, but this extension can help you on this too [Bash script, works for win32 with cygwin].&lt;br /&gt;
* [http://www.colibre.com.br/bin/view/Aurium/InkscapeAreaCuter InkscapeAreaCutter] - For Webdesigners, layout for sites, slice area into .png images. util! (pt_BR)&lt;br /&gt;
* [http://julvitard.free.fr/eqtexsvg/ EQTeXSVG] - EQTeXSVG is an extension for Inkscape used to convert an inline LATEX equation into SVG path using Python.&lt;br /&gt;
* [http://www.kono.cis.iwate-u.ac.jp/~arakit/inkscape/inklatex.html InkLaTeX] Insert LaTeX text or equations into Inkscape.&lt;br /&gt;
* [http://www.iki.fi/pav/software/textext/ TexText] Embed re-editable LaTeX objects in SVG drawings.&lt;br /&gt;
* [http://math.univ-lille1.fr/~barraud/Inkscape/pathdeform/ PathDeform] - Here is an Inkscape extension whose purpose is to bend a path according to another one. Note: it was added to Inkscape 0.45 as &amp;quot;Pattern along Path&amp;quot;.&lt;br /&gt;
* [http://www.inkbar.lineaire.net/ InkBar] - This is an Inkscape extension whose purpose is to draw EAN13 bar code.&lt;br /&gt;
* [http://technoargia.free.fr/swftools/ SWF output] - A little extension to save as Swf from Inkscape.&lt;br /&gt;
* [http://www.colivre.coop.br/bin/view/Aurium/Puff Puff] - Fluffs elements! :-D&lt;br /&gt;
* [http://www.colivre.coop.br/bin/view/Aurium/InkSudoku Sudoku Generator] - Generates Sudoku square with the solution ''(in a small square if you want)''.&lt;br /&gt;
* [[CalligraphedOutlineFill]] - helps to fill in the inside area of shapes drawn with the Calligraphy tool&lt;br /&gt;
&lt;br /&gt;
== For Programers: ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.colivre.coop.br/bin/view/Aurium/RubyInk RubyInk] - Inkscape extension with Ruby&lt;br /&gt;
* [http://www.colivre.coop.br/bin/view/Aurium/InkBash Ink-Bash] - &amp;lt;nowiki&amp;gt;ShellScript&amp;lt;/nowiki&amp;gt; Forever!&lt;br /&gt;
* [http://www.colivre.coop.br/bin/view/Aurium/InkMoz InkMoz] - the Bridge from Inkscape to Mozilla (Inkscape extension with Javascript and more)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Dch</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=CalligraphedOutlineFill&amp;diff=14551</id>
		<title>CalligraphedOutlineFill</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=CalligraphedOutlineFill&amp;diff=14551"/>
		<updated>2007-05-07T18:10:11Z</updated>

		<summary type="html">&lt;p&gt;Dch: Extension to fill calligraphed outlines&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Graphic Tablet users using the Calligraphy tool can easily draw sketches with variable width outlines. However, filling the interior area of such a calligraphed outline is not so easy: if you try to apply the Fill tool to the path you just created, you are actually changing the style of the outline stroke itself - not that of the area it encloses...&lt;br /&gt;
&lt;br /&gt;
You can manually copy the calligraphed outline and edit the dots it is made of to just remove the inner dots to obtain a path covering the area you are interested in, then apply the Fill tool to that new path...&lt;br /&gt;
or you can try using the Python extension with source code below.&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
This extension was built on the observation that the Calligraphy tool creates a path that starts at the point where you started to draw, and is apparently completely made of curves (C commands in the &amp;quot;d&amp;quot; attribute of the created path element) - except for two lines (L commands in the &amp;quot;d&amp;quot; attribute): one marking the end of the stroke you drew (about mid way through the &amp;quot;d&amp;quot; element&amp;quot;), and one at the beginning of the stroke (last command in the &amp;quot;d&amp;quot; element before the final &amp;quot;z&amp;quot; command).&lt;br /&gt;
&lt;br /&gt;
The proposed extension will:&lt;br /&gt;
# loop through each of the paths you selected before calling the extension&lt;br /&gt;
# for each such path:&lt;br /&gt;
## create a copy of the current &amp;quot;path&amp;quot; element&lt;br /&gt;
## in the &amp;quot;d&amp;quot; attribute of that copied path: truncate away everything happening after the first &amp;quot;L&amp;quot; command encountered inside that attribute&lt;br /&gt;
## give a default style of &amp;quot;fill navy blue - no line&amp;quot; to that new path&lt;br /&gt;
## create a &amp;quot;g&amp;quot; element in the document, just before the presently selected path&lt;br /&gt;
## first put the duplicate path in that group&lt;br /&gt;
## put a copy of the original path inside the group (so that the original path is displayed in front of the created &amp;quot;fill&amp;quot; area)&lt;br /&gt;
## delete the original path from the document&lt;br /&gt;
&lt;br /&gt;
== Expected Issues ==&lt;br /&gt;
* In case the observation about &amp;quot;just two L commands being present inside a Calligraphy-tool generated path&amp;quot; is wrong, the extension will not produce the expected result&lt;br /&gt;
* If the extension is applied to anything else but a path just created with the Calligraphy tool, its behaviour will probably not be what you would like&lt;br /&gt;
* Especially: if you edit a path generated with the Calligraphy tool, the L position of the L commands inside the &amp;quot;d&amp;quot; attribute is not necessarily maintained&lt;br /&gt;
* Even if you do take the points above into account, it is most likely that small corrections will need to be appied to the dots corresponding to the very first and last ones in the original path. This is due to the &amp;quot;L&amp;quot; commands sometimes esthetically belonging to the shape you want to fill, sometimes not...&lt;br /&gt;
* Of course, using this extension makes most sense on a path that was meant to be a more or less closed area.&lt;br /&gt;
&lt;br /&gt;
== How to best use the extension ==&lt;br /&gt;
# draw your sketch with the Calligraphy tool (many separate strokes are OK)&lt;br /&gt;
# select all the strokes, the inside of which you would like to see filled in&lt;br /&gt;
# apply the extension&lt;br /&gt;
# fine-tune the start and end dots of the generated fill areas&lt;br /&gt;
# change the default fill color to the one you wish&lt;br /&gt;
# apply transforms to the generated groups of &amp;quot;original stroke + fill area&amp;quot; if you wish to alter their shapes&lt;br /&gt;
&lt;br /&gt;
== Source code ==&lt;br /&gt;
Two files to be created in the &amp;quot;extensions&amp;quot; folder of Inkscape&lt;br /&gt;
&lt;br /&gt;
=== File: fillstroke.inx ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension&amp;gt;&lt;br /&gt;
    &amp;lt;_name&amp;gt;FillStroke&amp;lt;/_name&amp;gt;&lt;br /&gt;
    &amp;lt;id&amp;gt;org.dch.fillstroke&amp;lt;/id&amp;gt;&lt;br /&gt;
	&amp;lt;dependency type=&amp;quot;executable&amp;quot; location=&amp;quot;extensions&amp;quot;&amp;gt;fillstroke.py&amp;lt;/dependency&amp;gt;&lt;br /&gt;
	&amp;lt;dependency type=&amp;quot;executable&amp;quot; location=&amp;quot;extensions&amp;quot;&amp;gt;inkex.py&amp;lt;/dependency&amp;gt;&lt;br /&gt;
    &amp;lt;effect&amp;gt;&lt;br /&gt;
		&amp;lt;object-type&amp;gt;path&amp;lt;/object-type&amp;gt;&lt;br /&gt;
                &amp;lt;effects-menu&amp;gt;&lt;br /&gt;
                    &amp;lt;submenu _name=&amp;quot;Stroke&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/effects-menu&amp;gt;&lt;br /&gt;
    &amp;lt;/effect&amp;gt;&lt;br /&gt;
    &amp;lt;script&amp;gt;&lt;br /&gt;
        &amp;lt;command reldir=&amp;quot;extensions&amp;quot; interpreter=&amp;quot;python&amp;quot;&amp;gt;fillstroke.py&amp;lt;/command&amp;gt;&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/inkscape-extension&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File: fillstroke.py ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python &lt;br /&gt;
'''&lt;br /&gt;
Copyright (C) 2007 Didier Chalon, chalondidier@skynet.be&lt;br /&gt;
&lt;br /&gt;
version 2.2&lt;br /&gt;
 1.0: first working version - just connecting the average dots&lt;br /&gt;
 1.1: also average the tangents&lt;br /&gt;
 2.0: keep stroke outline by pruning before first L&lt;br /&gt;
 2.1: insert filled area before parent stroke&lt;br /&gt;
 2.2: group parent stroke and filled area&lt;br /&gt;
&lt;br /&gt;
From selected stroke:&lt;br /&gt;
* assume the stroke &amp;quot;end point&amp;quot; is the first L command in the d attribute&lt;br /&gt;
* prune before first L&lt;br /&gt;
&lt;br /&gt;
This program is free software; you can redistribute it and/or modify&lt;br /&gt;
it under the terms of the GNU General Public License as published by&lt;br /&gt;
the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;
(at your option) any later version.&lt;br /&gt;
&lt;br /&gt;
This program is distributed in the hope that it will be useful,&lt;br /&gt;
but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
You should have received a copy of the GNU General Public License&lt;br /&gt;
along with this program; if not, write to the Free Software&lt;br /&gt;
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA&lt;br /&gt;
'''&lt;br /&gt;
import inkex, simplepath&lt;br /&gt;
&lt;br /&gt;
class FillStroke(inkex.Effect):&lt;br /&gt;
    def __init__(self):&lt;br /&gt;
        inkex.Effect.__init__(self)&lt;br /&gt;
&lt;br /&gt;
    def effect(self):&lt;br /&gt;
&lt;br /&gt;
        for id in self.options.ids:&lt;br /&gt;
&lt;br /&gt;
            # just keep selected paths&lt;br /&gt;
            node = self.selected[id]&lt;br /&gt;
            if node.tagName =='path':&lt;br /&gt;
                d = node.attributes.getNamedItem('d').value&lt;br /&gt;
                #inkex.debug(d)&lt;br /&gt;
            else:&lt;br /&gt;
                self.options.ids.remove(id)&lt;br /&gt;
&lt;br /&gt;
            #find first L&lt;br /&gt;
            dEnd = d.find(&amp;quot;L&amp;quot;) - 1&lt;br /&gt;
            #inkex.debug(d[:dEnd])&lt;br /&gt;
&lt;br /&gt;
            #create group to hold parent stroke and filled area&lt;br /&gt;
            newGroup = self.document.createElement('svg:g')&lt;br /&gt;
            newGroup.setAttribute('inkscape:groupmode','layer')&lt;br /&gt;
&lt;br /&gt;
            #append group before parent stroke&lt;br /&gt;
            node.parentNode.insertBefore(newGroup,node)&lt;br /&gt;
&lt;br /&gt;
            #create filled area as stripped path&lt;br /&gt;
            newPath = self.document.createElement('svg:path')&lt;br /&gt;
            newPath.setAttribute('d',d[:dEnd])&lt;br /&gt;
            newPath.setAttribute('style','display:inline;fill:#00004a;stroke:none;stroke-opacity:1;fill-opacity:1')&lt;br /&gt;
&lt;br /&gt;
            #append stripped path to group&lt;br /&gt;
            newGroup.appendChild(newPath)&lt;br /&gt;
&lt;br /&gt;
            #copy parent stroke&lt;br /&gt;
            copyStroke = node.cloneNode(1)&lt;br /&gt;
&lt;br /&gt;
            #append copy of parent stroke to group&lt;br /&gt;
            newGroup.appendChild(copyStroke)&lt;br /&gt;
&lt;br /&gt;
            #remove original stroke&lt;br /&gt;
            node.parentNode.removeChild(node)&lt;br /&gt;
&lt;br /&gt;
e = FillStroke()&lt;br /&gt;
e.affect()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
I'm routinely using this extension for my own drawing purposes. Suggestions to improve the functionality, the quality of the code etc are quite welcome !&lt;/div&gt;</summary>
		<author><name>Dch</name></author>
	</entry>
</feed>