Commit graph

174 commits

Author SHA1 Message Date
Eduard Braun
1aa5722c6a Fix conversion of cubic Bézier "curveto" commands into "shorthand/smooth curveto" commands. (#110)
When the preceeding path segment is a Bézier curve, too, the first control point of the shorthand defaults to the mirrored version of the second control point of this preceeding path segment. Scour always assumed (0,0) as the control point in this case which could result in modified path data (e.g. #91).
2016-09-06 01:43:36 +02:00
Eduard Braun
0fac95ee09 Update HISTORY.md 2016-09-05 22:46:11 +02:00
Eduard Braun
ec855211de Fix replacement of duplicate gradients if "fill/stroke" contains fallbacks (#109)
(fixes #79)
2016-09-05 22:44:55 +02:00
Eduard Braun
564367f886 Update HISTORY.md 2016-08-31 22:46:48 +02:00
Eduard Braun
25c05d99d8 Merge pull request #108 from Ede123/precision
Improve path scouring
2016-08-31 22:29:51 +02:00
Dirk Thomas
dc3f66ed0f Sort declarations in style attribute (#107) 2016-08-31 22:29:01 +02:00
Eduard Braun
0c63344ea4 Add a check to prevent we make path data longer by "optimization" 2016-08-31 07:06:42 +02:00
Eduard Braun
21e6c7491b Fix a unittest that failed due to the increased accuracy of paths after 29e005bf7b 2016-08-31 06:32:05 +02:00
Eduard Braun
29e005bf7b Improve handling of scientific vs. non-scientific notation
* Negative exponents were not handled in a reasonable way (e.g. 0.000001 remained unchanged)
* Trailing zeroes were not always properly removed
2016-08-31 06:29:01 +02:00
Eduard Braun
9e4b9d6f5e Improve behaviour of numerial precision reduction
* Previously all calculations were immediately done with the precision specified by the user, resulting in accumulation of numerical errors and in some cases very discernible abberations from the initial image (e.g. #80)
* Now all calculations are done with default precision (the module "decimal" uses a whopping 28 signifigant digits initially!) and only at the very end coordinates are rounded to the desired precision.
2016-08-31 02:20:11 +02:00
Eduard Braun
3929426a5a Add some attributes that fit into the list of the previous commit, too 2016-08-30 22:32:57 +02:00
Dirk Thomas
e76da093ea Try to always order attributes intuitively based on a list of select attributes, order other attributes alphabetical (#105) 2016-08-30 22:30:29 +02:00
Eduard Braun
bf4fc1b70e Linkify HISTORY.md 2016-08-30 00:17:33 +02:00
Eduard Braun
e57adf0c96 Fix HISTORY.md 2016-08-30 00:15:09 +02:00
Eduard Braun
fa17e6655a Update HISTORY.md 2016-08-30 00:13:37 +02:00
Eduard Braun
3b68fdacf8 Fix removal rules for the overflow attribute (#104)
(fixes #92)
2016-08-30 00:05:52 +02:00
Eitot
aa48c90d56 Add options to remove descriptive elements (#102)
* --remove-titles (removes <title>)
* --remove-descriptions (removes <desc>)
* --remove-descriptive-elements (removes <title>, <desc> and <metadata>)
2016-08-29 21:05:12 +02:00
Eduard Braun
842123a393 Fix improper comparison of numeric default attribute values with textvalues resulting in wrongly removed attributes (#101)
For example for `orient="auto"` SVGLength() returns (value=0, units=Unit.INVALID); since the default value for `orient` is zero it was removed as there was check for a valid unit.
2016-08-29 06:37:28 +02:00
Eitot
3511c05298 Remove obsolete Psyco dependency (#100) 2016-08-29 04:32:54 +02:00
Eduard Braun
beea442fce Update HISTORY.md 2016-08-29 03:39:49 +02:00
Eduard Braun
0314070363 Fix/update list of SVG presentation attributes (#99)
(fixes #94)
2016-08-29 03:30:33 +02:00
Eduard Braun
5844076258 Only attempt to group elements that the content model allows to be children of a <g> when --create-groups is specified. (#98)
(before it could happen that e.g. `tspan` elements were grouped, which is invalid; fixes issues #96 and #97)
2016-08-29 02:33:13 +02:00
Eduard Braun
419f41cb48 Add links to issues in release notes 2016-08-28 20:07:51 +02:00
Eduard Braun
c433077e6f Add release notes for all releases since 0.26 2016-08-28 19:54:46 +02:00
Eduard Braun
fbf4e13e8d Restore release notes (converted to Markdown) 2016-08-28 17:22:46 +02:00
Eduard Braun
0cbf89641a Merge pull request #70 from Ede123/default_attributes
Improve code for removal of default attributes
2016-08-27 16:26:10 +02:00
Eduard Braun
7c86de83d1 Rename default_attributes -> default_properties (that's what they are called and it makes the distinction to the other default attributes clearer)
Add some documentation / links to spec as sources
2016-08-27 16:15:47 +02:00
Eduard Braun
488c756989 removeDefaultAttributeValues(): Add a lot of new default attribute values 2016-08-27 03:40:38 +02:00
Eduard Braun
002c54b5cc removeDefaultAttributeValues(): Refactor to improve code clarity and extensibility 2016-08-26 23:45:44 +02:00
Eduard Braun
cbda5dcd86 Add unittests for #66 2016-08-26 23:45:44 +02:00
Eduard Braun
beb9823a91 Fix some erroneous removal of default attributes (fxes #66) 2016-08-26 23:45:44 +02:00
Eduard Braun
90910eaa6f Fix counting issue in statistics due to collidng variable names 2016-08-26 23:44:14 +02:00
Eduard Braun
386d5d8656 Allow elements to be found via Document.getElementById() in the minidom document returned by scourXmlFile() (#68) 2016-08-25 21:13:09 +02:00
Eduard Braun
8d6301950b Redirect informational output to stderr when SVG is output to stdout (#67)
fixes #47
2016-08-23 22:31:55 +02:00
Eduard Braun
4f23ea7a34 Print usage information if no input file was specified (and no data is available from stdin) (#65)
fixes #34
2016-08-23 21:16:14 +02:00
Eduard Braun
57f93efc89 Don't escape quotes ('/") in text nodes and attributes. (#64)
- In text nodes quotes are fine
- In attributes quotes are fine if used reciprocally.

Escaping in the latter case often causes issues, e.g. with quoted font names (#21) or inline CSS styles (#56), while it probably does not gain anything (if quotes are wrongly used in attribute names the XML is most likely invalid to start with)
2016-08-16 00:10:41 +02:00
Eduard Braun
fe2884c3e8 Don't remove unreferenced defs if --keep-unreferenced-defs is specified (#62)
* Don't remove unreferenced defs if `--keep-unreferenced-defs` is specified
(fixes #18)

* Add unittests for previous commit
2016-08-14 18:52:55 +02:00
Eduard Braun
3299f8f6e0 Also shorten unused IDs when --shorten-ids is specified 2016-08-14 17:12:48 +02:00
Eduard Braun
df142a2f22 Drop official support for Python 2.6 2016-08-13 17:15:03 +02:00
Eduard Braun
3f5c6c76c0 Sync version 2016-08-13 17:14:29 +02:00
Tobias Oberstein
06457a7461 trigger build 2016-07-30 15:21:17 +02:00
Tobias Oberstein
e41893d98f trigger build 2016-07-30 15:17:14 +02:00
Tobias Oberstein
a766a3256b force travis 2016-07-30 13:14:43 +02:00
Tobias Oberstein
c564b89d21 Merge pull request #59 from dirk-thomas/order_attributes_option
add --order-attributes option
2016-07-30 13:02:09 +02:00
Dirk Thomas
371f14786a add --order-attributes option 2016-07-29 10:22:59 -07:00
Tobias Oberstein
8a2d9d604d Merge pull request #57 from Ede123/xml_standalone
Only include "standalone" attribute if it was explicitly set to "yes"
2016-07-25 12:46:45 +02:00
Eduard Braun
f83b03707b Fix unittests for previous commit 2016-06-12 15:42:30 +02:00
Eduard Braun
84b36c7109 Only include "standalone" attribute if it was explicitly set to "yes" in input document ("no" is the default value) 2016-06-12 15:36:02 +02:00
Tobias Oberstein
1a8ece216d Merge pull request #53 from codedread/detect_flowtext
add option to check and warn or bail out on flowtext
2016-04-18 19:01:56 +02:00
Tobias Oberstein
d2faa6bffd Merge pull request #52 from Ede123/travis
Basic implementation for Travis CI
2016-04-03 09:11:06 +02:00