Scour Release Notes
Copyright 2009, Jeff Schiller
July 4th, 2009
- added --keep-editor-data command-line option
- Fix Bug 395645: Keep all identified children inside a defs (Thanks Frederik!)
June 10th, 2009
- Collapse adjacent commands of the same type
- Convert straight curves into line commands
- Eliminate last segment in a polygon
- Rework command-line argument parsing
- Fix bug in embedRasters() caused by new command-line parsing
- added --disable-embed-rasters command-line option
May 19th, 2009
- properly deal with fill="url("#foo")"
- properly handle paths with more than 1 pair of coordinates in the first Move command
- remove font/text styles from shape elements (font-weight, font-size, line-height, etc)
- remove -inkscape-font-specification styles
- added --set-precision argument to set the number of significant digits (defaults to 5 now)
- collapse consecutive h,v coords/segments that go in the same direction
May 17th, 2009
- upgraded enthought's path parser to handle scientific notation in path coordinates
- convert colors to #RRGGBB format
- added option to disable color conversion
April 28th, 2009
- convert gradient stop offsets from percentages to float
- convert gradient stop offsets to integers if possible (0 or 1)
- fix bug in line-to-hv conversion
- handle non-ASCII characters (Unicode)
- remove empty line or curve segments from path
- added option to prevent style-to-xml conversion
- handle compressed svg (svgz) on the input and output
- added total time taken to the report
- Removed XML pretty printing because of this problem.
April 27th, 2009
- Remove path with empty d attributes
- Sanitize path data (remove unnecessary whitespace)
- Convert from absolute to relative path data
- Remove trailing zeroes from path data
- Limit to no more than 6 digits of precision
- Remove empty line segments
- Convert lines to horiz/vertical line segments where possible
- Remove some more default styles (display:none, visibility:visible, overflow:visible,
marker:none)
April 25th, 2009
- Fix bug when removing stroke styles
- Remove gradients that are only referenced by one other gradient
- Added option to prevent group collapsing
- Prevent groups with title/desc children from being collapsed
- Remove stroke="none"
April 22nd, 2009
- Remove unnecessary nested <g> elements
- Remove duplicate gradient stops (same offset, stop-color, stop-opacity)
- Always keep fonts inside <defs>, always keep ids on fonts
- made ID stripping optional (disabled by default)
April 15th, 2009
- moved all functionality into a module level function named 'scour' and began adding unit tests
- prevent metadata from being removed if they contain only text nodes
- Remove unreferenced pattern and gradient elements outside of defs
- Removal of extra whitespace, pretty printing of XML
April 13th, 2009
- Prevent error when stroke-width property value has a unit
- Convert width/height into a viewBox where possible
- Convert all referenced rasters into base64 encoded URLs if the files can be found
April 7th, 2009
- Removes unreferenced elements in a <defs>
- Removes all inkscape, sodipodi, adobe elements
- Removes all inkscape, sodipodi, adobe attributes
- Remove all unused namespace declarations on the document element
- Removes any empty <defs>, <metadata>, or <g> elements
- Style fix-ups:
- Fixes any style properties like this:
style="fill: url(#linearGradient1000) rgb(0, 0, 0);"
- Removes any style property of:
opacity: 1;
- Removes any stroke properties when stroke=none or stroke-opacity=0 or stroke-width=0
- Removes any fill properties when fill=none or fill-opacity=0
- Removes all fill/stroke properties when opacity=0
- Removes any
stop-opacity: 1
- Removes any
fill-opacity: 1
- Removes any
stroke-opacity: 1
- Convert style properties into SVG attributes