Comparison of layout engines (Scalable Vector Graphics)

From HandWiki - Reading time: 6 min

Short description: None
Scalable Vector Graphics

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

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

MSHTML references

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

  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

Other references

External links





Licensed under CC BY-SA 3.0 | Source: https://handwiki.org/wiki/Comparison_of_layout_engines_(Scalable_Vector_Graphics)
1 | Status: cached on September 08 2024 23:04:21
↧ Download this article as ZWI file
Encyclosphere.org EncycloReader is supported by the EncyclosphereKSF