Manual:$wgSVGConverters
| SVG: $wgSVGConverters | |
|---|---|
| List of paths to Scalable Vector Graphics (SVG) converters. |
|
| Introduced in version: | 1.4.0 |
| Removed in version: | Still in use |
| Allowed values: | (array) see below |
| Default value: | see below |
| Other settings: Alphabetical | By function | |
Details
Scalable Vector Graphics (SVG) may be uploaded as images. However, SVG support in browsers is patchy – in particular, Internet Explorer before version 9 could not understand the SVG format at all.
Therefore, it is necessary to convert SVG format images to PNG format as a fallback. An external program is required to perform this conversion.
This array contains a list of SVG conversion programs and the command line for each one. To select which one to use on your system, set $wgSVGConverter variable.
Default values
| MediaWiki version: | ≥ 1.46 |
$wgSVGConverters = [
'ImageMagick' => '$path/convert -background "#ffffff00" -thumbnail $widthx$height\\! $input PNG:$output',
'inkscape' => '$path/inkscape -w $width -o $output $input',
'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
'rsvg' => '$path/rsvg-convert -w $width -h $height -o $output $input',
'ImagickExt' => [ 'SvgHandler::rasterizeImagickExt', ],
];
| MediaWiki versions: | 1.39 – 1.45 |
$wgSVGConverters = [
'ImageMagick' => '$path/convert -background "#ffffff00" -thumbnail $widthx$height\\! $input PNG:$output',
'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
'rsvg' => '$path/rsvg-convert -w $width -h $height -o $output $input',
'imgserv' => '$path/imgserv-wrapper -i svg -o png -w$width $input $output',
'ImagickExt' => [ 'SvgHandler::rasterizeImagickExt', ],
];
| MediaWiki versions: | 1.25 – 1.38 |
$wgSVGConverters = [
'ImageMagick' =>
'$path/convert -background "#ffffff00" -thumbnail $widthx$height\! $input PNG:$output',
'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d '
. '$output $input',
'rsvg' => '$path/rsvg-convert -w $width -h $height -o $output $input',
'imgserv' => '$path/imgserv-wrapper -i svg -o png -w$width $input $output',
'ImagickExt' => [ 'SvgHandler::rasterizeImagickExt' ],
];
| MediaWiki versions: | 1.23 – 1.24 |
$wgSVGConverters = array(
'ImageMagick' => '$path/convert -background white -thumbnail $widthx$height\! $input PNG:$output',
'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d '
. '$output $input',
'rsvg' => '$path/rsvg -w $width -h $height $input $output',
'imgserv' => '$path/imgserv-wrapper -i svg -o png -w$width $input $output',
'ImagickExt' => array( 'SvgHandler::rasterizeImagickExt' ),
);
| MediaWiki versions: | 1.21 – 1.22 |
$wgSVGConverters = array(
'ImageMagick' => '$path/convert -background white -thumbnail $widthx$height\! $input PNG:$output',
'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
'rsvg' => '$path/rsvg -w $width -h $height $input $output',
'imgserv' => '$path/imgserv-wrapper -i svg -o png -w$width $input $output',
'ImagickExt' => array( 'SvgHandler::rasterizeImagickExt' ),
);
| MediaWiki versions: | 1.18 – 1.20 |
$wgSVGConverters = array(
'ImageMagick' => '$path/convert -background white -thumbnail $widthx$height\! $input PNG:$output',
'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
'rsvg' => '$path/rsvg -w$width -h$height $input $output',
'imgserv' => '$path/imgserv-wrapper -i svg -o png -w$width $input $output',
'ImagickExt' => array( 'SvgHandler::rasterizeImagickExt' ),
);
| MediaWiki versions: | 1.14 – 1.17 |
$wgSVGConverters = array(
'ImageMagick' => '$path/convert -background white -thumbnail $widthx$height\! $input PNG:$output',
'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
'rsvg' => '$path/rsvg -w$width -h$height $input $output',
'imgserv' => '$path/imgserv-wrapper -i svg -o png -w$width $input $output',
);
| MediaWiki version: | 1.13 |
1.13
$wgSVGConverters = array(
'ImageMagick' => '$path/convert -background white -geometry $width $input PNG:$output',
'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
'rsvg' => '$path/rsvg -w$width -h$height $input $output',
'imgserv' => '$path/imgserv-wrapper -i svg -o png -w$width $input $output',
);
| MediaWiki versions: | 1.10 – 1.12 |
$wgSVGConverters = array(
'ImageMagick' => '$path/convert -background white -geometry $width $input PNG:$output',
'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
'rsvg' => '$path/rsvg -w$width -h$height $input $output',
);
| MediaWiki versions: | 1.5 – 1.9 |
$wgSVGConverters = array(
'ImageMagick' => '$path/convert -background white -geometry $width $input $output',
'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
'rsvg' => '$path/rsvg -w$width -h$height $input $output',
);
| MediaWiki version: | 1.4 |
$wgSVGConverters = array(
'ImageMagick' => '$path/convert -background white -geometry $width $input $output',
'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
);
Usage
The following variables can be specified in the command line:
$path- the value of $wgSVGConverterPath, if set; otherwise$path/(note the slash) will be stripped$input- the path to the input SVG file$output- the path where MediaWiki will look for the output PNG file$width- the desired width$height- the desired height
!)' is a meta-character in Unix shells and must be escaped with a backslash. In the code sample above, this can be seen in the command for ImageMagick. On Windows-family operating systems, the exclamation mark (!) is not a meta-character in the shell and does not need to be escaped.Example
A fictitious example, which assumes that an executable named mysvg2png is on the system path:
$wgSVGConverters = [
'mysvg2png' => '$path/mysvg2png -input $input -toFormat PNG -w $width -h $height -output $output'
];
$wgSVGConverter = 'mysvg2png';
Platform-specific notes
Windows
On Windows, where the executable path may contain spaces, you may need to quote the executable name. For example:
$wgSVGConverters = [
'inkscape' => '"$path/Inkscape/inkscape" -z -w $width -f $input -e $output',
];
On Windows-family operating systems, the exclamation mark (!) is not a meta-character in the shell and does not need to be escaped.
Inkscape.exe does not accept command line arguments in the default release. You will need to download inkscapec.exe. [dead link] Then set the $wgSVGConverters to the following.
$wgSVGConverters = [
'inkscape' => 'inkscapec.exe --file=$input --export-png=$output --export-width=$width --without-gui',
];
The inkscapec.exe handles both long and short versions of the command-line.
On Windows-family operating systems, the exclamation mark (!) is not a meta-character in the shell and does not need to be escaped.
Linux
On some Linux installations (e.g. OpenSuSE 10.3, Debian, Ubuntu) rsvg is renamed (and might be packaged separately):
$wgSVGConverters = [ 'rsvg' => '/usr/bin/rsvg-convert -w $width -h $height -o $output $input' ];
$wgSVGConverter = 'rsvg' ;
If the Java executable is not in the path, it must be specified to use batik, or a "Thumbnail creation failed:" message will be displayed. For example:
$wgSVGConverters['batik'] = '/usr/local/bin/java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input';
!)' is a meta character in Unix shells and must be escaped with a backslash.OpenBSD and FreeBSD
On OpenBSD and FreeBSD installations rsvg was renamed to rsvg-convert:
$wgSVGConverterPath = "/usr/local/bin";
$wgSVGConverters = [ 'rsvg' => '$path/rsvg-convert -w $width -h $height -o $output $input' ];
$wgSVGConverter = 'rsvg' ;