normalizing svg files

Allen Winter allen.d.winter at gmail.com
Wed Sep 21 14:15:09 UTC 2016


On Thursday, September 08, 2016 07:12:56 PM Allen Winter wrote:
> Good stuff.
> 
> 1. I'm going to make Krazy detect xmllint failures with svg files
Done
look near the bottom of http://ebn.kde.org/krazy/reports/frameworks/frameworks5/breeze-icons/index.html

> 2. How about adding normalize.sh to the kde-dev-scripts repo?  (call it svg-normalize.sh)
> 3. Is there a techbase wiki on this? if not, could you start one?
> 
> On Tuesday, September 06, 2016 11:58:57 AM Jos van den Oever wrote:
> > Hi all,
> > 
> > Icons in breeze are stored as uncompressed SVG. That should make diffs more 
> > readable. In practice, diffs can be quite hard to read due to different ways of 
> > writing out XML by different applications, application versions and settings.
> > 
> > A solution to this is to use XML normalization (c14n). xmllint provides this.
> > 
> > I've attached a script that will normalize XML files. I've used a similar 
> > script for quite some time.
> > 
> >   "$xmllint" --nonet --c14n11 "$1" \
> >     | XMLLINT_INDENT=' ' \
> >       "$xmllint" --nonet --format --encode utf-8 --xmlout --nsclean - \
> >     | "$perl" -p -e 's/[ \t]+$//g' - \
> >     > "$tmpfile" || "$rm" "$tmpfile"
> > 
> > The script follows the c14n11 transform with a formatting. The formatting 
> > changes <a></a> to <a/> and adds an initial <?xml .. ?>.
> > 
> > The most notable feature is that attributes are sorted and placed on one line.
> > 
> > Like whitespace discussions, the actual choice is not that important, but for 
> > nice diffs, consistency is.
> > 
> > There's a slight space saving (1MB out of 64MB).
> > 
> > Cheers,
> > Jos
> 


More information about the Kde-frameworks-devel mailing list