39 lines
1004 B
Bash
Executable File
39 lines
1004 B
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# This script converts the various icons from their SVG
|
|
# source format to PNG (for Unix), ICO (for Windows)
|
|
# and ICNS (for Mac). It uses the following tools:
|
|
#
|
|
# rsvg from http://librsvg.sourceforge.net/
|
|
# png2icns from http://icns.sourceforge.net/
|
|
# icoutil from http://www.nongnu.org/icoutils/
|
|
#
|
|
# On Fedora, these are available out of the box in the
|
|
# packages "librsvg2", "icoutils" and "libicns-utils".
|
|
|
|
SIZES="512 256 128 48 32 16"
|
|
SVGS=`find scalable -name "*.svg"`
|
|
|
|
function cnv() {
|
|
SRC=$1
|
|
MACDST=`basename $SRC .svg`.icns
|
|
WINDST=`basename $SRC .svg`.ico
|
|
PNGALL=
|
|
PNGWIN=
|
|
for s in $SIZES ; do
|
|
PNG=`echo $SRC|sed -e "s/scalable/${s}x${s}/" -e 's/\.svg/.png/'`
|
|
rsvg-convert -w $s -h $s -f png $SRC > $PNG
|
|
PNGALL="$PNGALL $PNG"
|
|
if [ $s -lt 256 ] ; then
|
|
PNGWIN="$PNGWIN $PNG"
|
|
fi
|
|
done
|
|
png2icns $MACDST $PNGALL > /dev/null
|
|
icotool -c -b 24 -o $WINDST $PNGWIN
|
|
}
|
|
|
|
|
|
for f in $SVGS ; do
|
|
cnv $f
|
|
done
|