hidden pixel

Comparison of Layout Engines (Scalable Vector Graphics) Information

The following tables compare SVG compatibility and support for a number of layout engines. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up-to-date. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.

Contents

Explanation of the tables

Engine nomenclature

Rather than the names of web browsers, the names of the underlying engines are used. The browsers that use the various engines are listed below.

Layout engine Release version Preview version Used by
Amaya 11.3.1 11.3-pre Amaya
Gecko 5.0 7.0a1 All Mozilla software, including Firefox; SeaMonkey and Galeon; Camino; K-Meleon; Flock (up to 2.x); Epiphany-gecko; GNU IceCat (formerly IceWeasel); Icedove, Iceape and Iceowl; Fennec (for Android and Nokia N900 only)
KHTML N/A Konqueror
Presto 2.9.168 2.9.168 Opera; Opera Mobile, Nintendo DS & DSi Browser‎; Internet Channel
Prince 7.1 N/A Prince XML
Tasman (IE 5.2.3 for Mac) none (aborted in 2003W) Internet Explorer 5+ for Mac OS X
Trident 5.0 (IE 9) 6.0 (IE 10) Internet Explorer and other Internet Explorer shells like Maxthon (Microsoft Windows operating systems only)
WebKit 534.20 r83424 Google Chrome, Maxthon 3, Safari (both desktop and mobile), Shiira, iCab 4, OmniWeb 5.5+, Epiphany, Adobe AIR, Midori, Adobe Dreamweaver CS4 and CS5, Android browser, Palm webOS browser, Symbian S60 browser, OWB, Steam, Rekonq, Arora, Flock (version 3+), RockMelt

Adobe SVG Viewer , Batik, eSVG and Renesis are SVG-Plugins.

Values

Values indicate the level of support in the most recent version of the layout engine, or (if a version number is given) in the specified version. Version numbers without any other value indicate the version at which the layout engine first fully supported the feature.

Value Meaning
Yes Indicates that the layout engine fully supports this property/element when valid values are used.
No Indicates that the property/element is completely ignored.
Partial Indicates that the property/element is understood, but that not all values are supported. Supported values are implemented correctly.
Incorrect Indicates that the property/element is understood, but that it is not implemented correctly in all cases.
Experimental Indicates that the property/element is understood, but supported under an alternate name. May be incomplete or buggy.
Dropped Indicates that the property/element is no longer supported.
Nightly build Indicates that the property/element is supported to some extent in an experimental/nightly build. Future support is expected.
Depends Indicates that the property/element is supported only on certain platforms, or if certain settings are configured.

SVG version support

Trident Gecko WebKit KHTML Presto Prince XML Amaya Adobe SVG Viewer Batik Renesis
SVG 1.1 Tiny (SVGT) 5.0[t 1] Partial[g 1] Partial Partial[note 1] 1.0 Partial Partial Partial Mostly Partial
Basic (SVGB) Mostly
Full
1.2 Tiny No No No No 2.1 ? ? No Partial Partial
Full No No No No No
sXBL Yes
XBL 2.0 No

Embedding

This table shows support status of different ways of embedding SVG into HTML, for different layout engines.

Trident Gecko WebKit KSVG Presto Amaya
<img> 5.0[t 1] 2.0[g 2] Partial[note 2] No 2.1 5.1
<embed> 1.8 Partial[note 3] Partial[note 4] Partial[note 5] 5.2
<object> Yes 5.1
CSS background-image 2.0[g 3] No No 2.1 ?
CSS list-style-image Partial[note 6] ?
as Favicon No 2.0[g 4] No 2.1.1 ?
in data URIs Yes ? ? ? ?

SVG 1.1 support

Comparison of various Scalable Vector Graphics element support.

Profile Element Trident Gecko WebKit KSVG Presto Prince XML Amaya Adobe SVG Viewer Batik Renesis
Structure Module
Tiny svg 5.0[t 2] 1.8 522 Yes 1.0 Yes Yes 1.0 Yes Yes
g 2.0 1.0
defs 6.0 ?
desc No No ?
title ? 3.0
metadata ? ? 2.0
use Partial[w 3] No 6.0 Yes 1.0 0.6
Basic symbol 522 ?
Conditional Processing Module
Tiny switch No 1.8 522 ? 2.0 No ? 2.0 Yes No
Image Module
Tiny image 5.0[t 2] 2.0[g 5] 522 No 2.0 5.1 4.0 1.0 Yes 0.5
Style Module
Tiny style 5.0[t 1] 1.8 522 ? 2.0 Yes Yes 1.0 Yes 0.6
Shape Module
Tiny circle 5.0[t 2] 1.8 522 Yes 2.0 Yes 4.0 1.0 Yes 1.0
ellipse
line
path
polygon
polyline
rect 0.6
Text Module
Tiny text 5.0[t 1] 1.8 522 Yes 2.0 5.1 4.0 1.0 Yes 0.7
Basic tspan Yes
tref No[g 6] No 6.3 0.6
textPath 1.8.1 4.0 No
Full altGlyph Partial[g 7] Partial ? 2.2 2.0
altGlyphDef No No ?
altGlyphItem ? ? No
glyphRef ? 2.2 2.0
Profile Element Trident Gecko WebKit KSVG Presto Prince XML Amaya Adobe SVG Viewer Batik Renesis
Marker Module
Full marker 5.0[t 1] 1.8 522 ? 2.0 6.0 ? 3.0 Yes 1.0
Color Profile Module
Full color-profile No No[g 8] No[w 4] No No No ? 3.0 Yes No
Gradient Module
Basic linearGradient 5.0[t 1] 1.8 522 Yes 1.0 6.0 ? 1.0 Yes 0.5
radialGradient 2.0 ?
stop 1.0 ? ?
Pattern Module
Basic pattern 5.0[t 1] 1.9 522 Yes 2.0 ? ? 2.0 Yes 0.5
Clip Module
Basic clipPath 5.0[t 1] 1.8 Mostly[w 5] ? 2.0 ? ? 1.0 Yes 0.6
Mask Module
Basic mask 5.0[t 1] 1.9 522 ? 2.0 ? ? 1.0 Yes No
Filter Module
Basic feBlend 5.0[t 1] 1.9 Nightly build[w 6] ? 2.0 No ? 1.0 Yes No
feColorMatrix ? ?
feComponentTransfer ? ?
feComposite ? ?
feFlood ? ?
feGaussianBlur ? ?
feImage ? ?
feMerge ? ?
feOffset ? ?
feTile ? ?
Full filter Nightly build[w 6] ? ?
feConvolveMatrix Nightly build[w 7] ? ?
feDiffuseLighting Nightly build[w 8] ? ?
feDisplacementMap Nightly build[w 6] ? ?
feMergeNode ? ?
feMorphology ? ?
feSpecularLighting Nightly build[w 9] ? ?
feTurbulence Nightly build[w 10] ? ?
feDistantLight No ? ?
fePointLight ? ?
feSpotLight ? ?
feFuncR Nightly build[w 6] ? ?
feFuncG ? ?
feFuncB ? ?
feFuncA ? ?
Profile Element Trident Gecko WebKit KSVG Presto Prince XML Amaya Adobe SVG Viewer Batik Renesis
Cursor Module
Full cursor 5.0[t 1] No[g 9] Partial ? No ? ? No Yes 0.6
Hyperlinking Module
Tiny a No 1.8 522 Yes 1.0 5.1 8.2 1.0 Yes 0.6
View Module
Basic view No No[g 10] Partial ? 2.0 ? ? 3.0 Yes No
Scripting Module
Tiny script No 1.8 522 ? 2.0 ? ? 1.0 Yes 0.5
Animation Module
Tiny animate No 2.0[g 11] No Yes 2.0 No Yes 1.0 Yes No
set Partial
animateMotion 2.0[g 12] No
animateTransform 2.0[g 11]
animateColor No[g 13] Yes
mpath 2.0[g 12] 522 ? ? 2.0
Font Module
Tiny font No No[g 14] Yes ? 2.0 ? ? 2.0 Yes 1.0
font-face ? 1.0 ? ? Dropped[note 7]
glyph ? ? ? 1.0
missing-glyph ? ? ?
Full hkern Nightly build[w 11] ? 2.0 ? ? No
vkern Nightly build[w 12] ? ? ?
font-face-src Yes ? No ? ? No
font-face-uri ? 2.0 ? ?
font-face-format ? No ? ? No
font-face-name ? ? ? Yes
Extensibility Module
Full foreignObject No 1.9 522 ? 2.0 No 7.2 No No No
Profile Element Trident Gecko WebKit KSVG Presto Prince XML Amaya Adobe SVG Viewer Batik Renesis

Notes

  1. ^ KHTML does not have any native image support. This is by design: in Konqueror, multimedia files are handled by KParts. The KDE project also developed an SVG plugin for Konqueror, known as KSVG.[k 1]
  2. ^ <img> — WebKit does not render the image if its size is given in relative units.[w 1]
  3. ^ <embed>, <object> — WebKit does not scale the image properly if its size is given in relative units.[w 2]
  4. ^ <embed>, <object> — KSVG does not scale the image properly if its size is given in relative units.
  5. ^ <embed> — Presto does not scale the image properly if its size is given in relative units.
  6. ^ list-style-image — WebKit does render the image if its size is given in relative units.[w 1]
  7. ^ Renesis 0.7 supports that feature, but because of the rewrite of the plugin Renesis 1.0 doesn't support this any longer.[1]

References

Trident references

  1. ^ a b c d e f g h i j k Yu, Jennifer (2010-03-18), SVG in IE9 Roadmap, Microsoft, http://blogs.msdn.com/ie/archive/2010/03/18/svg-in-ie9-roadmap.aspx
  2. ^ a b c Internet Explorer 9 Preview Builds, Microsoft, http://msdn.microsoft.com/en-us/ie/ff468705.aspx

Gecko references

  1. ^ Bug 512501 - (svg11tests) We should pass all the W3C SVG 1.1 Full tests, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=512501
  2. ^ Bug 276431 - external SVG not loaded from img tag, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=276431
  3. ^ Bug 231179 - SVG images in CSS, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=231179
  4. ^ Bug 366324 - SVG site icons (favicons, shortcut icons) support, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=366324
  5. ^ Bug 272288 - Allow SVG source for <svg:image>, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=272288
  6. ^ Bug 273171 - Text 'tref' not supported, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=273171
  7. ^ Bug 456286 - should altGlyph elements fall back to behaving like tspan?, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=456286
  8. ^ Bug 427713 - embedded color profiles in svg are ignored, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=427713
  9. ^ Bug 177193 - Implement the 'cursor' element and the 'cursor' attribute, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=177193
  10. ^ Bug 512525 - Implement the <view> element, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=512525
  11. ^ a b Bug 482402 - (enablesmil) Enable "svg.smil.enabled" pref by default, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=482402
  12. ^ a b Bug 436418 - SVG SMIL: Implement "animateMotion", Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=436418
  13. ^ Bug 436296 - SVG SMIL: implement "animateColor", Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=436296
  14. ^ Bug 119490 - Implement SVG fonts, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=119490

WebKit references

  1. ^ a b Bug 16167 - SVGs with width and height 100% fail to render when used as <img> or CSS image, WebKit, https://bugs.webkit.org/show_bug.cgi?id=16167
  2. ^ Bug 12095 - Image (and thus SVGImage and PDFDocumentImage) need size-negotiation, WebKit, https://bugs.webkit.org/show_bug.cgi?id=12095
  3. ^ Bug 12499 - External <use> xlink:href references do not work, WebKit, https://bugs.webkit.org/show_bug.cgi?id=12499
  4. ^ Bug 6037 - WebKit+SVG does not support <color-profile> element, WebKit, https://bugs.webkit.org/show_bug.cgi?id=6037
  5. ^ Bug 55361 - transform attribute for ClipPath not implemented, WebKit, https://bugs.webkit.org/show_bug.cgi?id=55361
  6. ^ a b c d Bug 32224 - Turn on (SVG) Filters support, by default., WebKit, https://bugs.webkit.org/show_bug.cgi?id=32224
  7. ^ Bug 5861 - feConvolveMatrix filter is not implemented, WebKit, https://bugs.webkit.org/show_bug.cgi?id=5861
  8. ^ Bug 32197 - feDiffuseLighting filter is not implemented, WebKit, https://bugs.webkit.org/show_bug.cgi?id=32197
  9. ^ Bug 32199 - feSpecularLighting is not implemented, WebKit, https://bugs.webkit.org/show_bug.cgi?id=32199
  10. ^ Bug 5864 - feTurbulence is not implemented, WebKit, https://bugs.webkit.org/show_bug.cgi?id=5864
  11. ^ Bug 38407 - SVG hkern implementation incomplete, WebKit, https://bugs.webkit.org/show_bug.cgi?id=38407
  12. ^ Bug 38663 - SVGFont's VKern implementation missing, WebKit, https://bugs.webkit.org/show_bug.cgi?id=38663

KHTML references

  1. ^ See http://svg.kde.org/. KSVG seems to be inactive as of 2007[update].

Other references

  1. ^ Renesis support notes, Examotion GmbH, http://download.examotion.com/pub/exa/player/1.x/1.1/pdf/RENESIS_TECHNICAL.pdf, retrieved 2008-08-04

External links

· · Web browser engines
Actively developed web browser engines Amaya · Gecko · KHTML · Presto · Prince · Trident · WebKit
Inactive web browser engines Boxely · Gazelle · GtkHTML · HTMLayout · iCab · Mariner · Tasman · Tkhtml
Comparison of web browser engines HTML (Non-standard HTML) · HTML5 (Media · Canvas) · XML (XHTML (1.1) · MathML · SVG) · CSS · ECMAScript · DOM · Graphics · Typography

Categories: Scalable Vector Graphics | Software comparisons | Web browser engines

 

The above information uses material from Wikipedia and is licensed under the GNU Free Documentation License.
Some facts may not have been fully verified for accuracy. [Disclaimers]
This page was last archived by our server on Thu Oct 13 10:02:54 2011.
Displaying this page or its contents does not use any Wikimedia Foundation's resources.
The owners of this site proudly support the Wikimedia Foundation.