opennx/extres/svg2icons
2025-08-08 20:34:09 +02:00

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