Comparison of layout engines (Scalable Vector Graphics)

Short description: None

Scalable Vector Graphics

* sXBL
* SVG Working Group
* SVG filter effects
* Precision Graphics Markup Language
* Vector Markup Language
* XHTML+MathML+SVG
* SVG animation
* Comparison of layout engines (SVG)

* v
* t
* e

The following tables compare SVG compatibility and support for a number of browser engines.

## Contents

* 1 Explanation of tables
* 1.1 Values
* 2 SVG version support
* 3 Embedding
* 4 SVG 1.1 support
* 5 Notes
* 6 References
* 6.1 MSHTML references
* 6.2 Gecko references
* 6.3 WebKit references
* 6.4 Blink references
* 6.5 Other references
* 7 External links

## Explanation of tables

See comparison of browser 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

| MSHTML  | Gecko | WebKit | Blink | Presto  | KHTML | Prince | Amaya | Batik | Renesis | LeonLabs

|
|
|
|
|
|
|
|
|
|
|

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 browser engines.

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

Profile | Element | MSHTML  | 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 | MSHTML  | 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 | MSHTML  | 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 | MSHTML  | Gecko  | WebKit  | Blink  | Presto  | KSVG  | Prince XML  | Amaya  | Adobe SVG Viewer  | Batik  | Renesis  |

> LeonLabs

## 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.[o 1]
2. ↑ `<embed>` -- Presto does not scale the image properly if its size is given in relative units.
3. ↑ `<embed>`, `<object>` -- KSVG does not scale the image properly if its size is given in relative units.
4. ↑ `list-style-image` -- WebKit does render the image if its size is given in relative units.[w 1]
5. ↑ 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". http://dev.w3.org/SVG/profiles/1.1F2/test/status/implementation_matrix.html.
* "W3C SVG Test Suite Results — Summary results of W3C test suite on multiple browsers, different versions and browser plugins. Last updated 2011-03-24.". http://www.codedread.com/svg-support.php. Retrieved 2012-10-02.
* "When can I use... SVG support tables in desktop and mobile browsers". http://caniuse.com/#cats=SVG. Retrieved October 2, 2012.

### MSHTML references

1. ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 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. ↑ 2.0 2.1 2.2 Internet Explorer 9 Preview Builds, Microsoft, http://msdn.microsoft.com/en-us/ie/ff468705.aspx
3. ↑ Internet Explorer 10 Guide, Microsoft, http://msdn.microsoft.com/en-us/library/ie/hh673562(v=vs.85).aspx
4. ↑ 2.1.20 [SVG11] Section 16.12, Cursor Module, Microsoft, http://msdn.microsoft.com/en-us/library/ff934779(v=vs.85)

### Gecko references

* "SVG in Firefox". https://developer.mozilla.org/en/SVG_in_Firefox. Retrieved June 11, 2009.

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 571808 - Implement altglyph". Mozilla. 13 June 2010. https://bugzilla.mozilla.org/show_bug.cgi?id=571808. Retrieved 21 February 2014.
9. ↑ Bug 427713 - embedded color profiles in svg are ignored, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=427713
10. ↑ Bug 177193 - Implement the 'cursor' element and the 'cursor' attribute, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=177193
11. ↑ Bug 512525 - Implement the <view> element, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=512525
12. ↑ 12.0 12.1 Bug 482402 - (enablesmil) Enable "svg.smil.enabled" pref by default, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=482402
13. ↑ 13.0 13.1 Bug 436418 - SVG SMIL: Implement "animateMotion", Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=436418
14. ↑ Bug 436296 - SVG SMIL: implement "animateColor", Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=436296
15. ↑ Bug 119490 - Implement SVG fonts, Mozilla, https://bugzilla.mozilla.org/show_bug.cgi?id=119490

### WebKit references

* "WebKit SVG Status". //www.webkit.org/projects/svg/status.xml. Retrieved June 17, 2007.
* "WebKit's W3C test suite results". https://docs.google.com/spreadsheet/ccc?key=0AtEuXGcF4tpXdF82VjVMNV83cUI5VkVOQjVjOG9NcVE&hl=en_US#gid=0.

1. ↑ 1.0 1.1 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. ↑ "The WebKit Open Source Project - SVG (Scalable Vector Graphics)". //www.webkit.org/projects/svg/. Retrieved 24 February 2014.
4. ↑ Bug 12499 - External <use> xlink:href references do not work, WebKit, https://bugs.webkit.org/show_bug.cgi?id=12499
5. ↑ Bug 6037 - WebKit+SVG does not support <color-profile> element, WebKit, https://bugs.webkit.org/show_bug.cgi?id=6037
6. ↑ Bug 55361 - transform attribute for ClipPath not implemented, WebKit, https://bugs.webkit.org/show_bug.cgi?id=55361
7. ↑ 7.0 7.1 7.2 7.3 Bug 32224 - Turn on (SVG) Filters support, by default., WebKit, https://bugs.webkit.org/show_bug.cgi?id=32224
8. ↑ Bug 5861 - feConvolveMatrix filter is not implemented, WebKit, https://bugs.webkit.org/show_bug.cgi?id=5861
9. ↑ Bug 32197 - feDiffuseLighting filter is not implemented, WebKit, https://bugs.webkit.org/show_bug.cgi?id=32197
10. ↑ Bug 32199 - feSpecularLighting is not implemented, WebKit, https://bugs.webkit.org/show_bug.cgi?id=32199
11. ↑ Bug 5864 - feTurbulence is not implemented, WebKit, https://bugs.webkit.org/show_bug.cgi?id=5864
12. ↑ Bug 38407 - SVG hkern implementation incomplete, WebKit, https://bugs.webkit.org/show_bug.cgi?id=38407
13. ↑ Bug 38663 - SVGFont's VKern implementation missing, WebKit, https://bugs.webkit.org/show_bug.cgi?id=38663

### Blink references

1. ↑ Issue 294179: Support SVG favicons, Google, https://bugs.chromium.org/p/chromium/issues/detail?id=294179

### Other references

* "Batik Implementation Status". http://xmlgraphics.apache.org/batik/status.html. Retrieved January 11, 2008.
* "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 support in Presto: Elements, Attributes, CSS Properties, DOM Interfaces.

1. ↑ See "KSVG Homepage". Archived from the original on 2011-04-22. https://web.archive.org/web/20110422231014/http://svg.kde.org/. KSVG seems to be inactive as of 2012[update].
2. ↑ 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

* 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. https://web.archive.org/web/20100325041649/http://wiki.svg.org/index.php/Viewer_Matrix.

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Comparison_of_layout_engines_(Scalable_Vector_Graphics)&oldid=254302"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template