Comparison of layout engines (Scalable Vector Graphics)
Scalable Vector Graphics | |
---|---|
The following tables compare SVG compatibility and support for a number of layout engines.
Explanation of tables[]
See list of layout engines for the full list. Adobe SVG Viewer, Batik, eSVG and Renesis are SVG-Plugins.
Values[]
These indicate the level of support for the given item in each engine. By default, the most recent version of the engine is implied. However, a specific version number can be listed; when this indicates full support, it's the initial version of the engine fully supporting the item.
Value | Meaning |
---|---|
Yes | Fully supported |
No | Has never been supported |
Partial | Only some values are supported |
Incorrect | Not implemented correctly in all cases |
Experimental | May be incomplete or buggy |
Nightly build | Currently in development; full support is expected |
Depends | Only supported for the specified conditions |
Dropped | No longer supported |
SVG version support[]
Trident | Gecko | WebKit | Blink | Presto | KHTML | Prince | Amaya | Batik | Renesis | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SVG | 1.1 | Tiny (SVGT) | 5.0[t 1] | Partial[g 1] | Partial | Partial | 1.0 | Partial[note 1] | Partial | Partial | Mostly | Partial | Partial |
Basic (SVGB) | Mostly | ||||||||||||
Full | |||||||||||||
1.2 | Tiny | No | No | No | No | 2.1 | No | ? | ? | Partial | Partial | Partial | |
Full | No | 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 | Blink | Presto | KSVG | Amaya | |
---|---|---|---|---|---|---|---|
<img>
|
5.0[t 1] | 2.0[g 2] | Yes[w 1] | ? | 2.1 | No | 5.1 |
<embed>
|
1.8 | Yes[w 2] | Partial[note 2] | Partial[note 3] | 5.2 | ||
<object>
|
Yes | 5.1 | |||||
CSS background-image
|
2.0[g 3] | No | 2.1 | No | ? | ||
CSS list-style-image
|
Partial[note 4] | ? | |||||
as Favicon | No | 41[g 4] | No | 80[b 1] | 2.1.1 | ? | |
in data URIs | 5.0 | Yes | Yes | ? | No | ? | ? |
SVG 1.1 support[]
Comparison of various Scalable Vector Graphics element support.
The factual accuracy of parts of this article (those related to table) may be compromised due to out-of-date information. (April 2012) |
Profile | Element | Trident | Gecko | WebKit[w 3] | Blink | Presto | KSVG | Prince | Amaya | Adobe SVG Viewer | Batik | Renesis | LeonLabs |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Structure Module | |||||||||||||
Tiny | svg
|
5.0[t 2] | 1.8 | 522 | ? | 1.0 | Yes | Yes | Yes | 1.0 | Yes | Yes | 1.0 |
g
|
2.0 | 1.0 | |||||||||||
defs
|
6.0 | ? | |||||||||||
desc
|
No | No | ? | ||||||||||
title
|
? | 3.0 | |||||||||||
metadata
|
? | ? | 2.0 | ||||||||||
use
|
Yes[w 4] | No | 6.0 | Yes | 1.0 | 0.6 | |||||||
Basic | symbol
|
522 | ? | ||||||||||
Conditional Processing Module | |||||||||||||
Tiny | switch
|
Yes | 1.8 | 522 | ? | 2.0 | ? | No | ? | 2.0 | Yes | No | 1.0 |
Image Module | |||||||||||||
Tiny | image
|
5.0[t 2] | 2.0[g 5] | 522 | ? | 2.0 | No | 5.1 | 4.0 | 1.0 | Yes | 0.5 | 1.0 |
Style Module | |||||||||||||
Tiny | style
|
5.0[t 1] | 1.8 | 522 | ? | 2.0 | ? | Yes | Yes | 1.0 | Yes | 0.6 | 1.0 |
Shape Module | |||||||||||||
Tiny | circle
|
5.0[t 2] | 1.8 | 522 | ? | 2.0 | Yes | Yes | 4.0 | 1.0 | Yes | 1.0 | 1.0 |
ellipse
| |||||||||||||
line
| |||||||||||||
path
| |||||||||||||
polygon
| |||||||||||||
polyline
| |||||||||||||
rect
|
0.6 | ||||||||||||
Text Module | |||||||||||||
Tiny | text
|
5.0[t 1] | 1.8 | 522 | ? | 2.0 | Yes | 5.1 | 4.0 | 1.0 | Yes | 0.7 | 1.0 |
Basic | tspan
|
Yes | |||||||||||
tref
|
No[g 6] | No | 6.3 | 0.6 | |||||||||
textPath
|
1.8.1 | 4.0 | No | ||||||||||
Full | altGlyph
|
Partial[g 7][g 8] | Partial | 2.2 | ? | 2.0 | |||||||
altGlyphDef
|
No | No | ? | ||||||||||
altGlyphItem
|
? | ? | No | ||||||||||
glyphRef
|
2.2 | ? | 2.0 | ||||||||||
Profile | Element | Trident | Gecko | WebKit | Blink | Presto | KSVG | Prince XML | Amaya | Adobe SVG Viewer | Batik | Renesis | LeonLabs |
Marker Module | |||||||||||||
Full | marker
|
5.0[t 1] | 1.8 | 522 | ? | 2.0 | ? | 6.0 | ? | 3.0 | Yes | 1.0 | 1.0 |
Color Profile Module | |||||||||||||
Full | color-profile
|
No | No[g 9] | No[w 5] | ? | No | No | No | ? | 3.0 | Yes | No | 1.0 |
Gradient Module | |||||||||||||
Basic | linearGradient
|
5.0[t 1] | 1.8 | 522 | ? | 1.0 | Yes | 6.0 | ? | 1.0 | Yes | 0.5 | 1.0 |
radialGradient
|
2.0 | ? | |||||||||||
stop
|
1.0 | ? | ? | ||||||||||
Pattern Module | |||||||||||||
Basic | pattern
|
5.0[t 1] | 1.9 | 522 | ? | 2.0 | Yes | ? | ? | 2.0 | Yes | 0.5 | 1.0ttt |
Clip Module | |||||||||||||
Basic | clipPath
|
5.0[t 1] | 1.8 | Mostly[w 6] | ? | 2.0 | ? | ? | ? | 1.0 | Yes | 0.6 | 1.0 |
Mask Module | |||||||||||||
Basic | mask
|
5.0[t 1] | 1.9 | 522 | ? | 2.0 | ? | ? | ? | 1.0 | Yes | No | 1.0 |
Filter Module | |||||||||||||
Basic | feBlend
|
6.0[t 3] | 1.9 | Nightly build[w 7] | ? | 2.0 | ? | No | ? | 1.0 | Yes | No | |
feColorMatrix
|
? | ? | 1.0 | ||||||||||
feComponentTransfer
|
? | ? | |||||||||||
feComposite
|
? | ? | |||||||||||
feFlood
|
? | ? | |||||||||||
feGaussianBlur
|
? | ? | 1.0 | ||||||||||
feImage
|
? | ? | 1.0 | ||||||||||
feMerge
|
? | ? | |||||||||||
feOffset
|
? | ? | 1.0 | ||||||||||
feTile
|
? | ? | |||||||||||
Full | filter
|
Nightly build[w 7] | ? | ? | |||||||||
feConvolveMatrix
|
Nightly build[w 8] | ? | ? | ||||||||||
feDiffuseLighting
|
Nightly build[w 9] | ? | ? | ||||||||||
feDisplacementMap
|
Nightly build[w 7] | ? | ? | ||||||||||
feMergeNode
|
? | ? | |||||||||||
feMorphology
|
? | ? | |||||||||||
feSpecularLighting
|
Nightly build[w 10] | ? | ? | ||||||||||
feTurbulence
|
Nightly build[w 11] | ? | ? | ||||||||||
feDistantLight
|
No | ? | ? | ||||||||||
fePointLight
|
? | ? | |||||||||||
feSpotLight
|
? | ? | |||||||||||
feFuncR
|
Nightly build[w 7] | ? | ? | ||||||||||
feFuncG
|
? | ? | |||||||||||
feFuncB
|
? | ? | |||||||||||
feFuncA
|
? | ? | |||||||||||
Profile | Element | Trident | Gecko | WebKit | Blink | Presto | KSVG | Prince XML | Amaya | Adobe SVG Viewer | Batik | Renesis | LeonLabs |
Cursor Module | |||||||||||||
Full | cursor
|
No[t 4] | No[g 10] | Partial | ? | No | ? | ? | ? | No | Yes | 0.6 | |
Hyperlinking Module | |||||||||||||
Tiny | a
|
Yes | 1.8 | 522 | ? | 1.0 | Yes | 5.1 | 8.2 | 1.0 | Yes | 0.6 | 1.0 |
View Module | |||||||||||||
Basic | view
|
No | 15.0[g 11] | Partial | ? | 2.0 | ? | ? | ? | 3.0 | Yes | No | 1.0 |
Scripting Module | |||||||||||||
Tiny | script
|
Yes | 1.8 | 522 | ? | 2.0 | ? | ? | ? | 1.0 | Yes | 0.5 | |
Animation Module | |||||||||||||
Tiny | animate
|
No | 2.0[g 12] | No | ? | 2.0 | Yes | No | Yes | 1.0 | Yes | No | 1.0 |
set
|
Partial | ||||||||||||
animateMotion
|
2.0[g 13] | No | 1.0 | ||||||||||
animateTransform
|
2.0[g 12] | 1.0 | |||||||||||
animateColor (deprecated)
|
No[g 14] | Yes | |||||||||||
mpath
|
2.0[g 13] | 522 | ? | ? | 2.0 | ||||||||
Font Module | |||||||||||||
Tiny | font
|
No | No[g 15] | Yes | ? | 2.0 | ? | ? | ? | 2.0 | Yes | 1.0 | 1.0 |
font-face
|
1.0 | ? | ? | ? | Dropped[note 5] | ||||||||
glyph
|
? | ? | ? | 1.0 | |||||||||
missing-glyph
|
? | ? | ? | ||||||||||
Full | hkern
|
Nightly build[w 12] | 2.0 | ? | ? | ? | No | ||||||
vkern
|
Nightly build[w 13] | ? | ? | ? | |||||||||
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 | No |
Profile | Element | Trident | Gecko | WebKit | Blink | Presto | KSVG | Prince XML | Amaya | Adobe SVG Viewer | Batik | Renesis |
|
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.[o 1]
- ^
<embed>
— Presto does not scale the image properly if its size is given in relative units. - ^
<embed>
,<object>
— KSVG does not scale the image properly if its size is given in relative units. - ^
list-style-image
— WebKit does render the image if its size is given in relative units.[w 1] - ^ Renesis 0.7 supports that feature, but because of the rewrite of the plugin Renesis 1.0 doesn't support this any longer.[o 2]
References[]
- "SVG 1.1 Conformance Suite Implementation Status".
- "W3C SVG Test Suite Results — Summary results of W3C test suite on multiple browsers, different versions and browser plugins. Last updated 2011-03-24". Retrieved 2012-10-02.
- "When can I use... SVG support tables in desktop and mobile browsers". Retrieved October 2, 2012.
Trident references[]
- ^ Jump up to: a b c d e f g h i Yu, Jennifer (2010-03-18), SVG in IE9 Roadmap, Microsoft
- ^ Jump up to: a b c Internet Explorer 9 Preview Builds, Microsoft
- ^ Internet Explorer 10 Guide, Microsoft
- ^ 2.1.20 [SVG11] Section 16.12, Cursor Module, Microsoft
Gecko references[]
- "SVG in Firefox". Retrieved June 11, 2009.
- ^ Bug 512501 - (svg11tests) We should pass all the W3C SVG 1.1 Full tests, Mozilla
- ^ Bug 276431 - external SVG not loaded from img tag, Mozilla
- ^ Bug 231179 - SVG images in CSS, Mozilla
- ^ Bug 366324 - SVG site icons (favicons, shortcut icons) support, Mozilla
- ^ Bug 272288 - Allow SVG source for <svg:image>, Mozilla
- ^ Bug 273171 - Text 'tref' not supported, Mozilla
- ^ Bug 456286 - should altGlyph elements fall back to behaving like tspan?, Mozilla
- ^ "Bug 571808 - Implement altglyph". Mozilla. 13 June 2010. Retrieved 21 February 2014.
- ^ Bug 427713 - embedded color profiles in svg are ignored, Mozilla
- ^ Bug 177193 - Implement the 'cursor' element and the 'cursor' attribute, Mozilla
- ^ Bug 512525 - Implement the <view> element, Mozilla
- ^ Jump up to: a b Bug 482402 - (enablesmil) Enable "svg.smil.enabled" pref by default, Mozilla
- ^ Jump up to: a b Bug 436418 - SVG SMIL: Implement "animateMotion", Mozilla
- ^ Bug 436296 - SVG SMIL: implement "animateColor", Mozilla
- ^ Bug 119490 - Implement SVG fonts, Mozilla
WebKit references[]
- "WebKit SVG Status". Retrieved June 17, 2007.
- "WebKit's W3C test suite results".
- ^ Jump up to: a b Bug 16167 - SVGs with width and height 100% fail to render when used as <img> or CSS image, WebKit
- ^ Bug 12095 - Image (and thus SVGImage and PDFDocumentImage) need size-negotiation, WebKit
- ^ "The WebKit Open Source Project - SVG (Scalable Vector Graphics)". Retrieved 24 February 2014.
- ^ Bug 12499 - External <use> xlink:href references do not work, WebKit
- ^ Bug 6037 - WebKit+SVG does not support <color-profile> element, WebKit
- ^ Bug 55361 - transform attribute for ClipPath not implemented, WebKit
- ^ Jump up to: a b c d Bug 32224 - Turn on (SVG) Filters support, by default., WebKit
- ^ Bug 5861 - feConvolveMatrix filter is not implemented, WebKit
- ^ Bug 32197 - feDiffuseLighting filter is not implemented, WebKit
- ^ Bug 32199 - feSpecularLighting is not implemented, WebKit
- ^ Bug 5864 - feTurbulence is not implemented, WebKit
- ^ Bug 38407 - SVG hkern implementation incomplete, WebKit
- ^ Bug 38663 - SVGFont's VKern implementation missing, WebKit
Blink references[]
- ^ Issue 294179: Support SVG favicons, Google
Other references[]
- "Batik Implementation Status". Retrieved January 11, 2008.
- "Renesis 1.1 SVG support" (PDF). Examotion GmbH. Retrieved 2008-08-04.
- SVG support in Presto: Elements, Attributes, CSS Properties, DOM Interfaces.
- ^ See "KSVG Homepage". Archived from the original on 2011-04-22. KSVG seems to be inactive as of 2012.
- ^ Renesis support notes (PDF), Examotion GmbH, retrieved 2008-08-04
External links[]
- W3C SVG Test Cases for SVG Full
- "Viewer matrix — A Comparison of the SVG-able layout engines and Plugins". wiki.svg.org. Archived from the original on 2010-03-25.
Categories:
- Scalable Vector Graphics
- Layout engine comparisons