Zwar bringt
Firefox 2 inzwischen von Haus aus brauchbare
SVG-Unterstützung mit sich, es kann aber dennoch sinnvoll sein, diese über ein Plugin nachzurüsten. Der
Adobe SVG-Viewer ist in diesem Fall die einzige brauchbare Alternative. Allerdings wird er bereits seit April 2005 nicht mehr weiterentwickelt. Die letzte Linux-Version stammt sogar noch von Dezember 2003. Zudem hat Adobe den Support für den 1. Januar 2008 abgekündigt, so daß Bugfixes oder neue Features nicht mehr zu erwarten sind.
Trotzdem ist sein Einsatz unter gewissen Voraussetzungen derzeit noch günstiger als die Nutzung des nativen Firefox-Interpreters. Bei komplexen oder sehr großen SVG-Grafiken bietet das Plugin einen enormen Geschwindigkeitsvorteil. Außerdem kann es andernfalls zu Problem bei der Fontdarstellung kommen, die mit dem Plugin nicht oder zumindest nicht im selben Maße auftreten.
In unserem Fall wird - grob gesagt - eine Netzwerkübersicht der
Layer 2-3 in SVG dargestellt. Da es sich um ein etwa mittelgroßes, aber stetig wachsendes Netz mit einer entsprechend hohen Anzahl von Segmenten handelt, füllt die erzeugte Grafik inzwischen zwei Bildschirmseiten in der Breite und derzeit sieben in der Höhe bei einer Auflösung von 1280x1024 Pixeln. Eine Darstellung dieser Größenordnung benötigt mit nativem SVG eine signifikant unangenehm spürbare Ladezeit in Firefox und läßt sich praktisch nicht mehr scrollen, weil die Wartezeiten bis zur Neudarstellung unerträglich lang sind. Zudem werden alle Fonts zu groß gerendert, obwohl HTML und SVG der entsprechenden Seite syntaktisch korrekt sind.
Mit dem Plugin von Adobe treten diese Probleme nicht auf, weshalb wir es bereits seit mehren Jahren einsetzen. Für eine Installation unter
Debian Etch, in dem Firefox 2.0.0.4 unter dem Namen "Iceweasel" enthalten ist, muß man dazu allerdings noch einige Aktionen von Hand ausführen. Nach einer systemweiten Installation ...
$ tar xvzf adobesvg-3.01x88-linux-i386.tar.gz
$ cd adobesvg-3.01/
$ sudo ./install.sh
... müssen die Leserechte auf die Library erweitert werden.
$ sudo chmod a+r /usr/lib/mozilla-firefox/plugins/libNPSVG3.so
$ sudo chmod a+r /usr/lib/mozilla/plugins/libNPSVG3.so
$ sudo chmod a+r /usr/lib/mozilla-snapshot/plugins/libNPSVG3.so
Das Plugin stammt noch aus einer Zeit, in der das X-Window-System
XFree86 weit verbreitet war. Dieses ist inzwischen aber großflächig vom
X.Org-Server abgelöst worden, wodurch sich unter anderem auch die Fontpfade geändert haben. Das SVG-Plugin sucht noch an der alten Position nach Schriften. Deshalb muß man ihm die neue bekanntgeben. Ein einfacher Weg dazu ist das Setzen entsprechender Softlinks.
# for dir in $(ls -1 /usr/share/fonts/X11/ | grep -v encodings | cut -d/ -f1); do ln -s /usr/share/fonts/X11/${dir} /usr/lib/X11/fonts/; done
Nach einem Neustart von Firefox (bzw. Iceweasel unter Debian) läßt sich jetzt mit einem "about:plugins" in der Adreßzeile des Browsers überprüfen, daß das Plugin erfolgreich geladen wurde.
Bevor man es allerdings verwenden kann, muß man nun nun noch den internen SVG-Interpreter von Firefox abschalten. Das läßt sich ebenfalls über die Adreßzeile regeln. Nach der Eingabe von "about:config" filtert man nach dem Stichwort "svg" und schaltet den Wert des einzigen Eintrags per Rechtsklick von "true" auf "false" um.
Jetzt steht einer Verwendung des Adobe SVG-Plugins nichts mehr im Wege. Erwähnt werden sollte an dieser Stelle noch, daß es unter gewissen Voraussetzungen durchaus zu Stabilitätsprobleme kommen kann. Beobachtet haben wir scheinbares und tatsächliches Einfrieren des Browsers und hohen Speicherverbrauch bis hin zu gelegentlichen Browser-Abstürzen. Man sollte URLs also immer frühzeitig bookmarken und wichtige Inhalte geöffneter Tabs regelmäßig sichern.
Ein scheinbares Einfrieren kommt übrigens dadurch zustande, daß das Plugin Mausbewegungen mit gedrückter linker Taste innerhalb einer Grafik als "alles Auswählen" interpretiert. Bei einer entsprechenden Größe legt es danach eine großzügige Denkpause ein. In anderen Tabs oder der Adreßzeile des Browsers lassen sich dann keine Eingaben mehr tätigen. Rasche Abhilfe schafft in dem Fall nur ein Minimieren und anschließendes Wiedervergrößern des Browsers.