|
ali@100
|
1 |
#!/bin/bash
|
|
ali@100
|
2 |
# A compatibility wrapper for rsvg that makes it act like rsvg-convert
|
|
ali@100
|
3 |
usage()
|
|
ali@100
|
4 |
{
|
|
ali@100
|
5 |
echo "Usage: rsvg [OPTIONS...] file.svg"
|
|
ali@100
|
6 |
echo " -d, --dpi-x=<float> pixels per inch"
|
|
ali@100
|
7 |
echo " -p, --dpi-y=<float> pixels per inch"
|
|
ali@100
|
8 |
echo " -x, --x-zoom=<float> x zoom factor"
|
|
ali@100
|
9 |
echo " -y, --y-zoom=<float> y zoom factor"
|
|
ali@100
|
10 |
echo " -w, --width=<int> width"
|
|
ali@100
|
11 |
echo " -h, --height=<int> height"
|
|
ali@100
|
12 |
# echo " -q, --quality=<int> JPEG quality"
|
|
ali@100
|
13 |
# echo " -f, --format=[png, jpeg] save format"
|
|
ali@100
|
14 |
echo " -f, --format=[png] save format"
|
|
ali@100
|
15 |
echo " -o, --output=<file> output filename"
|
|
ali@100
|
16 |
echo " -v, --version show version information"
|
|
ali@100
|
17 |
echo ""
|
|
ali@100
|
18 |
echo "Help options:"
|
|
ali@100
|
19 |
echo " -?, --help Show this help message"
|
|
ali@100
|
20 |
echo " --usage Display brief usage message"
|
|
ali@100
|
21 |
}
|
|
ali@100
|
22 |
TEMP=`getopt -s bash -o d:p:x:y:w:h:q:f:o:v \
|
|
ali@100
|
23 |
--long dpi-x:,dpi-y:,x-zoom:,y-zoom:,width:,height:,quality:,format:,output:,version \
|
|
ali@100
|
24 |
-n 'rsvg' -- "$@"`
|
|
ali@100
|
25 |
if [ $? != 0 ]; then
|
|
ali@100
|
26 |
usage
|
|
ali@100
|
27 |
exit 1
|
|
ali@100
|
28 |
fi
|
|
ali@100
|
29 |
eval set -- "$TEMP"
|
|
ali@100
|
30 |
cmd="rsvg"
|
|
ali@100
|
31 |
output="/dev/stdout"
|
|
ali@100
|
32 |
while true; do
|
|
ali@100
|
33 |
case "$1" in
|
|
ali@100
|
34 |
-d|--dpi-x|-p|--dpi-y|-x|--x-zoom|-y|--y-zoom|-w|--width|-h|--height)
|
|
ali@100
|
35 |
cmd="$cmd $1 $2"
|
|
ali@100
|
36 |
shift 2
|
|
ali@100
|
37 |
;;
|
|
ali@100
|
38 |
-q|--quality)
|
|
ali@100
|
39 |
echo "rsvg-convert wrapper: jpeg format not supported"
|
|
ali@100
|
40 |
exit 1
|
|
ali@100
|
41 |
;;
|
|
ali@100
|
42 |
-f|--format)
|
|
ali@100
|
43 |
if [ "$2" = "png" -o -z "$2" ]; then
|
|
ali@100
|
44 |
cmd="$cmd $1 png"
|
|
ali@100
|
45 |
else
|
|
ali@100
|
46 |
echo "rsvg-convert wrapper: $2 format not supported"
|
|
ali@100
|
47 |
exit 1
|
|
ali@100
|
48 |
fi
|
|
ali@100
|
49 |
shift 2
|
|
ali@100
|
50 |
;;
|
|
ali@100
|
51 |
-o|--output)
|
|
ali@100
|
52 |
output="$2"
|
|
ali@100
|
53 |
shift 2
|
|
ali@100
|
54 |
;;
|
|
ali@100
|
55 |
-v|--version)
|
|
ali@100
|
56 |
cmd="$cmd $1"
|
|
ali@100
|
57 |
shift
|
|
ali@100
|
58 |
;;
|
|
ali@100
|
59 |
--)
|
|
ali@100
|
60 |
shift
|
|
ali@100
|
61 |
break
|
|
ali@100
|
62 |
;;
|
|
ali@100
|
63 |
*)
|
|
ali@100
|
64 |
echo "Internal error!" >&2
|
|
ali@100
|
65 |
exit 1
|
|
ali@100
|
66 |
;;
|
|
ali@100
|
67 |
esac
|
|
ali@100
|
68 |
done
|
|
ali@100
|
69 |
if [ "$#" -ne 1 ]; then
|
|
ali@100
|
70 |
usage
|
|
ali@100
|
71 |
exit 1
|
|
ali@100
|
72 |
fi
|
|
ali@100
|
73 |
input="$1"
|
|
ali@100
|
74 |
exec $cmd "$input" "$output"
|