I am attempting to implement the full International
Orienteering Federation mapping standards (ISOM:2000 and ISSOM:2007) within
Inkscape.
So far, I've created
a GIMP palette containing the standard colours required, using this across
the bottom of my Inkscape window. I've also written an
extension to generate the required point symbols and produced many of the required fill patterns, incorporating them
into patterns.svg.
I'm not happy with modifying patterns.svg as this
is one of the standard files provided with Inkscape. I've seen the way
that the X-moto extensions use dialog boxes for changing .jpg and .png block
textures and would like to do something similar for my svg patterns, but this is
a medium-term objective.
The remaining symbol type that I'm looking to
implement is the lines. Different line
styles from simple continuous lines of a given width and colour to complex
dashed lines with superimposed symbols at regular intervals are required.
Given the examples available in the current Pattern along Path and Scatter
extensions, the creation of the superimposed symbols isn't seen as a
problem.
The problem that I'm having is in what should be a
simple task - that of changing the style attributes of an existing
line. I can create new dash styles by editing the preferences.xml
file in my personal user area but, for many reasons, do not see this as as a
realistic option and not one that could be distributed to other users.
I've been trying to write a simple Python extension that will take a selected
line or number of lines and replace the style of the original with a different
set of style attributes without changing its path. I've looked
through the currently distributed Python extensions for clues as to how to
do this, but have not been successful. I've even started looking at the 1000+ page Python 2.6.4 online
manual (is this the version of Python implemented in Inkscape?) but this hasn't
really helped, although I've picked up some pointers for better Python
coding. I'm assuming that there is a subroutine in one of the 'helper'
files - inkex.py, pathmodifier.py, ... etc. that would help with this
but haven't determined which one it could be. I would be grateful if
someone could point me in the right direction.
Jon