Comparison of layout engines (Scalable Vector Graphics)

From Seo Wiki - Search Engine Optimization and Programming Languages
Jump to navigationJump to search

Template:SVGSeries

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

  1. 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

  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.[3]

Presto general overview notes

  1. 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

  1. img – WebKit does not render the image if its size is given in relative units. See Bug 16167 on WebKit's Bugzilla.
  2. embed, object – WebKit does not scale the image properly if its size is given in relative units. See Bug 12095 on WebKit's Bugzilla.
  3. 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

  1. embed, object — KSVG does not scale the image properly if it's size is given in relative units.

Presto embedding notes

  1. 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

  1. 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

Footnotes

External links