Comparison of layout engines (Scalable Vector Graphics)
This article is incomplete and may require expansion or cleanup. Please help to improve the article, or discuss the issue on the talk page. |
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.
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 | Used by |
---|---|
Trident | Internet Explorer and other Internet Explorer shells (Microsoft Windows operating systems only) |
Tasman | Mac OS X versions of Internet Explorer and MSN |
Gecko | All Mozilla software, including Firefox; SeaMonkey; Galeon; Camino; K-Meleon; Flock; also Epiphany-gecko |
WebKit | Apple Safari; Google Chrome; Shiira; iCab 4; OmniWeb 5.5+; Epiphany; Adobe AIR; Midori; Adobe Dreamweaver CS4 |
KHTML | Konqueror |
Presto | Opera; Opera Mobile, Nintendo DS Browser; Internet Channel; future Adobe Systems products |
iCab | iCab 1-3 |
Prince XML | Prince |
Adobe SVG Viewer, Batik, DENG (XML Browser Engine), 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. |
SVG version support
Note: Trident, Tasman and iCab (before version 4) do not support SVG natively, but requires third-party plugins, thus are not listed.
Gecko | WebKit | KHTML | Presto | Prince XML | Amaya | Adobe SVG Viewer | Batik | DENG | eSVG | Renesis | |||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SVG | 1.1 | Tiny (SVGT) | Partial | Partial | Partial | 1.0 | Partial | Partial | Partial | Partial | Partial | Yes | Partial |
Basic (SVGB) | Partial | Partial | Partial | Mostly | Partial | Partial | Partial | Partial | Partial | Partial | Partial | ||
Full | Partial | Partial | Partial | Partial | Partial | Partial | Partial | Mostly | Partial | Partial | Partial | ||
1.2 | Tiny | No | No | No | 2.1 | ? | ? | No | Partial | ? | Mostly mobile profile | Partial | |
sXBL | No | No | No | No | No | No | No | Yes | No | No | No | ||
XBL 2.0 | No | No | No | No | No | No | No | No | No | No | No |
Gecko general overview notes
- SVG — Firefox 1.5 and 2.0 support a subset of SVG 1.1.[1] Firefox 3 supports many more features.[2] SVG 1.1 Full tracking bug: Bug 512501.
KHTML general overview notes
- 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.[3]
Presto general overview notes
- SVG Basic — Presto 2.0 has added quite large, but incomplete SVGB support.
Embedding
This table shows support status of different ways of embedding SVG into HTML, for different layout engines.
Gecko | WebKit | KSVG | Presto | Amaya | |
---|---|---|---|---|---|
as <img>-tag | No | Partial | No | 2.1 | 5.1 |
as <embed>-tag | 1.8 | Partial | Partial | Partial | 5.2 |
as <object>-tag | Yes | 5.1 | |||
CSS background-image | No | No | No | 2.1 | ? |
CSS list-style-image | Partial | ? | |||
as Favicon | No | No | No | 2.1.1 | ? |
WebKit embedding notes
- img – WebKit does not render the image if its size is given in relative units. See Bug 16167 on WebKit's Bugzilla.
- embed, object – WebKit does not scale the image properly if its size is given in relative units. See Bug 12095 on WebKit's Bugzilla.
- list-style-image – WebKit does render the image if its size is given in relative units. Could be related to Bug 16167 on WebKit's Bugzilla.
KSVG embedding notes
- embed, object — KSVG does not scale the image properly if it's size is given in relative units.
Presto embedding notes
- embed — Presto does not scale the image properly if it's size is given in relative units.
SVG 1.1 support
Comparison of various Scalable Vector Graphics element support.
Gecko | WebKit | KSVG | Presto | Prince XML | Amaya | Adobe SVG Viewer | Batik | DENG | eSVG | Renesis | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Structure Module | ||||||||||||
SVG1.1 | svg (SVGT) | 1.8 | 522 | Yes | 1.0 | Yes | Yes | 1.0 | Yes | Yes | Yes | Yes |
g (SVGT) | Yes | 2.0 | Yes | Yes | 1.0 | Yes | Yes | 1.0 | ||||
defs (SVGT) | Yes | 6.0 | ? | 1.0 | Yes | Yes | 1.0 | |||||
desc (SVGT) | No | ? | ? | 1.0 | ? | Yes | 1.0 | |||||
title (SVGT) | No | ? | ? | 3.0 | ? | Yes | 1.0 | |||||
metadata (SVGT) | ? | ? | ? | 2.0 | ? | Yes | 1.0 | |||||
symbol (SVGB) | No | 6.0 | ? | 1.0 | ? | ? | 0.6 | |||||
use (SVGT) | No | 6.0 | Yes | 1.0 | ? | Yes | 0.6 | |||||
Conditional Processing Module | ||||||||||||
SVG1.1 | switch (SVGT) | 1.8 | 522 | ? | 2.0 | ? | ? | 2.0 | Yes | ? | Yes | No |
Image Module | ||||||||||||
SVG1.1 | image (SVGT) | 1.8 | 522 | No | 2.0 | 5.1 | 4.0 | 1.0 | Yes | ? | Yes | 0.5 |
Style Module | ||||||||||||
SVG1.1 | style (SVGT) | 1.8 | 522 | ? | 2.0 | Yes | Yes | 1.0 | Yes | Yes | Yes | 0.6 |
Shape Module | ||||||||||||
SVG1.1 | path (SVGT) | 1.8 | 522 | Yes | 2.0 | Yes | 4.0 | 1.0 | Yes | Yes | Yes | 1.0 |
rect (SVGT) | 0.6 | |||||||||||
circle (SVGT) | 1.0 | |||||||||||
line (SVGT) | ||||||||||||
ellipse (SVGT) | ||||||||||||
polyline (SVGT) | ||||||||||||
polygon (SVGT) | ||||||||||||
Text Module | ||||||||||||
SVG1.1 | text (SVGT) | 1.8 | 522 | Yes | 2.0 | 5.1 | 4.0 | 1.0 | Yes | ? | Yes | 0.7 |
tspan (SVGB) | 1.8 | 522 | Yes | Yes | 4.0 | 1.0 | Yes | ? | ? | 0.7 | ||
tref (SVGB) | No | 522 | Yes | Yes | 6.3 | 1.0 | Yes | ? | ? | 0.6 | ||
textPath (SVGB) | 1.8.1 | No | Yes | ? | 4.0 | 1.0 | Yes | ? | ? | No | ||
altGlyph | No | No | ? | 2.1 | ? | 4.0 | 2.0 | Yes | ? | ? | No | |
altGlyphDef | No | No | ? | ? | 4.0 | 2.0 | Yes | ? | ? | No | ||
altGlyphItem | No | No | ? | ? | ? | 4.0 | No | Yes | ? | ? | No | |
glyphRef | No | No | ? | 2.1 | ? | 4.0 | 2.0 | Yes | ? | ? | No | |
Marker Module | ||||||||||||
SVG1.1 | marker | 1.8 | 522 | ? | 2.0 | 6.0 | ? | 3.0 | Yes | ? | ? | 1.0 |
Color Profile Module | ||||||||||||
SVG1.1 | color-profile | No | No | No | No | ? | ? | 3.0 | Yes | ? | ? | No |
Gradient Module | ||||||||||||
SVG1.1 | linearGradient (SVGB) | 1.8 | 522 | Yes | 1.0 | 6.0 | ? | 1.0 | Yes | ? | ? | 0.5 |
radialGradient (SVGB) | 2.0 | ? | ? | ? | ||||||||
stop (SVGB) | 1.0 | ? | ? | ? | ? | |||||||
Pattern Module | ||||||||||||
SVG1.1 | pattern (SVGB) | 1.9 | 522 | Yes | 2.0 | ? | ? | 2.0 | Yes | ? | ? | 0.5 |
Clip Module | ||||||||||||
SVG1.1 | clipPath (SVGB) | 1.8 | 522 | ? | 2.0 | ? | ? | 1.0 | Yes | ? | ? | 0.6 |
Mask Module | ||||||||||||
SVG1.1 | mask (SVGB) | 1.9 | 522 | ? | 2.0 | ? | ? | 1.0 | Yes | ? | ? | No |
Filter Module | ||||||||||||
SVG1.1 | filter | 1.9 | Partial | ? | 2.0 | ? | ? | 1.0 | Yes | ? | ? | No |
feBlend (SVGB) | 522 | ? | ? | ? | ? | ? | ||||||
feColorMatrix (SVGB) | 522 | ? | ? | ? | ? | ? | ||||||
feComponentTransfer (SVGB) | 1.8 | 522 | ? | ? | ? | ? | ? | |||||
feComposite (SVGB) | 1.9 | 522 | ? | ? | ? | ? | ? | |||||
feConvolveMatrix | No | ? | ? | ? | ? | ? | ||||||
feDiffuseLighting | No | ? | ? | ? | ? | ? | ||||||
feDisplacementMap | 522 | ? | ? | ? | ? | ? | ||||||
feFlood (SVGB) | 522 | ? | ? | ? | ? | ? | ||||||
feGaussianBlur (SVGB) | Partial (528+) | ? | ? | ? | ? | ? | ||||||
feImage (SVGB) | Partial (528+) | ? | ? | ? | ? | ? | ||||||
feMerge (SVGB) | 522 | ? | ? | ? | ? | ? | ||||||
feMergeNode | 522 | ? | ? | ? | ? | ? | ||||||
feMorphology | 528+ | ? | ? | ? | ? | ? | ||||||
feOffset (SVGB) | 522 | ? | ? | ? | ? | ? | ||||||
feSpecularLighting | No | ? | ? | ? | ? | ? | ||||||
feTile (SVGB) | Partial | ? | ? | ? | ? | ? | ||||||
feTurbulence | No | ? | ? | ? | ? | ? | ||||||
feDistantLight | 522 | ? | ? | ? | ? | ? | ||||||
fePointLight | 522 | ? | ? | ? | ? | ? | ||||||
feSpotLight | Partial | ? | ? | ? | ? | ? | ||||||
feFuncR | 522 | ? | ? | ? | ? | ? | ||||||
feFuncG | 522 | ? | ? | ? | ? | ? | ||||||
feFuncB | 522 | ? | ? | ? | ? | ? | ||||||
feFuncA | 522 | ? | ? | ? | ? | ? | ||||||
Cursor Module | ||||||||||||
SVG1.1 | cursor | No | 522 | ? | No | ? | ? | No | Yes | ? | ? | 0.6 |
Hyperlinking Module | ||||||||||||
SVG1.1 | a (SVGT) | 1.8 | 522 | Yes | 1.0 | 5.1 | 8.2 | 1.0 | Yes | Yes | Yes | 0.6 |
View Module | ||||||||||||
SVG1.1 | view (SVGB) | No | Partial | ? | 2.0 | ? | ? | 3.0 | Yes | ? | ? | No |
Scripting Module | ||||||||||||
SVG1.1 | script (SVGT) | 1.8 | 522 | ? | 2.0 | ? | ? | 1.0 | Yes | ? | Yes | 0.5 |
Animation Module | ||||||||||||
SVG1.1 | animate (SVGT) | No | No | Yes | 2.0 | No | ? | 1.0 | Yes | ? | Yes | No |
set (SVGT) | 522 | Yes | ? | 1.0 | ? | |||||||
animateMotion (SVGT) | No | Partial | No | ? | 1.0 | ? | ||||||
animateTransform (SVGT) | No | 522 | No | ? | 1.0 | ? | ||||||
animateColor (SVGT) | No | 522 | Yes | ? | 1.0 | ? | ||||||
mpath (SVGT) | No | Yes | ? | ? | 2.0 | ? | ||||||
Font Module | ||||||||||||
SVG1.1 | font (SVGT) | No | Yes | ? | 2.0 | ? | ? | 2.0 | Yes | ? | Yes | 1.0 |
font-face (SVGT) | Yes | ? | 1.0 | ? | ? | 2.0 | Yes | ? | Yes | Dropped | ||
glyph (SVGT) | Yes | ? | ? | ? | 2.0 | Yes | ? | No | 1.0 | |||
missing-glyph (SVGT) | Yes | ? | ? | ? | 2.0 | Yes | ? | Yes | 1.0 | |||
hkern | No | ? | 2.0 | ? | ? | 2.0 | Yes | ? | ? | No | ||
vkern | ? | ? | ? | 2.0 | Yes | ? | ? | No | ||||
font-face-src | Yes | ? | No | ? | ? | No | Yes | ? | ? | No | ||
font-face-uri | Yes | ? | 2.0 | ? | ? | No | Yes | ? | ? | No | ||
font-face-format | Yes | ? | No | ? | ? | No | No | ? | ? | No | ||
font-face-name | Yes | ? | ? | ? | No | Yes | ? | ? | No | |||
definition-src | No | ? | ? | ? | No | No | ? | ? | No | |||
Extensibility Module | ||||||||||||
SVG1.1 | foreignObject | 1.9 | 522 | ? | 2.0 | No | 7.2 | No | No | ? | ? | No |
Renesis notes
- font-face — Renesis 0.7 supports that feature, but because of the rewrite of the plugin Renesis 1.0 doesn't support this any longer.[4]
References
- "Batik Implementation Status". http://xmlgraphics.apache.org/batik/status.html. Retrieved January 11, 2008.
- "Mozilla SVG Project". Mozilla + SVG Status. http://www.mozilla.org/projects/svg/status.html. Retrieved May 1, 2005.
- "Opera 8 Features". SVG. http://www.opera.com/features/svg/. Retrieved May 1, 2005.
- "Opera 9 Features". SVG. http://opera.com/docs/specs/opera9/svg/. Retrieved April 21, 2006.
- "Prince XML 5.1 SVG Status". http://www.princexml.com/doc/5.1/svg/.
- "Prince XML 6.0 SVG Status". http://www.princexml.com/doc/6.0/svg/.
- "WebKit SVG Status". http://webkit.org/projects/svg/status.xml. Retrieved June 17, 2007.
- "DENG XML Browser Engine Features". http://deng.com.br/features/.
- "Amaya Release History". http://www.w3.org/Amaya/User/New.html.
- "eSVG supported features". http://esvg.ultimodule.com/bin/esvg/templates/microsite-blank.asp?_resolutionfile=templatespath.
- "Renesis 1.1 SVG support" (PDF). Examotion GmbH. http://download.examotion.com/pub/exa/player/1.x/1.1/pdf/RENESIS_TECHNICAL.pdf. Retrieved 2008-08-04.
- "SVG in Firefox". https://developer.mozilla.org/en/SVG_in_Firefox. Retrieved June 11, 2009.
Footnotes
- ↑ SVG in Firefox 2.0
- ↑ SVG improvements in Firefox 3
- ↑ See http://svg.kde.org/. KSVG seems to be inactive as of 2007[update].
- ↑ "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
- SVG rendering engine comparison pages - visual comparison among various FOSS SVG rendering libraries
- W3C SVG Test Cases for SVG Full
- W3C SVG Test Suite Results - Summary results of W3C test suite on multiple browsers, different versions and browser plugins.
- A Comparison of the SVG-able layout engines and Plugins
|
If you like SEOmastering Site, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...
- Articles containing potentially dated statements from 2007
- Articles with invalid date parameter in template
- All articles containing potentially dated statements
- Pages with broken file links
- Wikipedia articles needing clarification from February 2009
- Scalable Vector Graphics
- Software comparisons
- Layout engines