Scour - An SVG Optimizer / Cleaner
Find a file
Niels Thykier 551c88754e
Rewrite colors into shortest possible name
Improve the code for rewriting colors into recognising that some
colors are shorter by name.  This commit enables scour to rewrite
`rgb(255, 0, 0)` into `red` which is slightly shorter than `#f00`
(ditto for `tan` and `pink`).

When the color name ties in length with the hexcode, then scour will
leave it as-is if the input file used a variant of same length
(e.g. `blue`, `cyan` and `aqua` will be left as-is).  But if scour is
rewriting the color code, it will prefer the hex code variant.

Signed-off-by: Niels Thykier <niels@thykier.net>
2021-02-23 19:07:57 +00:00
scour Rewrite colors into shortest possible name 2021-02-23 19:07:57 +00:00
unittests Rewrite colors into shortest possible name 2021-02-23 19:07:57 +00:00
.gitignore initial source import (v0.26) and packaging 2013-10-22 16:31:42 +02:00
.travis.yml CI: test with Python 3.9 stable 2020-11-22 15:21:13 +01:00
CONTRIBUTING.md Rename testX.py to test_X.py to make py.test work out of the box (#181) 2020-05-17 19:55:24 +02:00
HISTORY.md Scour v0.38.2 2020-11-22 15:05:13 +01:00
LICENSE initial source import (v0.26) and packaging 2013-10-22 16:31:42 +02:00
Makefile Rename testX.py to test_X.py to make py.test work out of the box (#181) 2020-05-17 19:55:24 +02:00
README.md anti-aliasing 2020-08-06 22:34:04 +02:00
scour.sublime-project initial source import (v0.26) and packaging 2013-10-22 16:31:42 +02:00
setup.py anti-aliasing 2020-08-06 22:34:04 +02:00
test_css.py Rename testX.py to test_X.py to make py.test work out of the box (#181) 2020-05-17 19:55:24 +02:00
test_scour.py Rewrite colors into shortest possible name 2021-02-23 19:07:57 +00:00
tox.ini CI: test with Python 3.9-dev and 3.10-dev 2020-09-02 19:43:58 +02:00

Scour

PyPI Build status Codecov


Scour is an SVG optimizer/cleaner that reduces the size of scalable vector graphics by optimizing structure and removing unnecessary data written in Python.

It can be used to create streamlined vector graphics suitable for web deployment, publishing/sharing or further processing.

The goal of Scour is to output a file that renderes identically at a fraction of the size by removing a lot of redundant information created by most SVG editors. Optimization options are typically lossless but can be tweaked for more agressive cleaning.

Scour is open-source and licensed under Apache License 2.0.

Scour was originally developed by Jeff "codedread" Schiller and Louis Simard in in 2010. The project moved to GitLab in 2013 an is now maintained by Tobias "oberstet" Oberstein and Patrick "Ede_123" Storz.

Installation

Scour requires Python 2.7 or 3.4+. Further, for installation, pip should be used.

To install the latest release of Scour from PyPI:

pip install scour

To install the latest trunk version (which might be broken!) from GitHub:

pip install https://github.com/codedread/scour/archive/master.zip

Usage

Standard:

scour -i input.svg -o output.svg

Better (for older versions of Internet Explorer):

scour -i input.svg -o output.svg --enable-viewboxing

Maximum scrubbing:

scour -i input.svg -o output.svg --enable-viewboxing --enable-id-stripping \
  --enable-comment-stripping --shorten-ids --indent=none

Maximum scrubbing and a compressed SVGZ file:

scour -i input.svg -o output.svgz --enable-viewboxing --enable-id-stripping \
  --enable-comment-stripping --shorten-ids --indent=none