Comparison of layout engines (graphics)
From Wikipedia, the free encyclopedia
The following tables compare graphics 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.
Version numbers, if possible, are provided for features that are fully supported. Proprietary extensions are not included.
Contents |
[edit] General overview
A general overview of the graphics support. Trident is the layout engine used in Internet Explorer. Tasman is used in Internet Explorer for Mac, Gecko in all Mozilla software, WebCore provides the HTML layout engine for Mac OS X, KHTML for KDE, Presto for Opera and iCab is a browser for Apple Macintosh.
Trident | Tasman | Gecko | WebCore | KHTML | Presto | iCab | ||
---|---|---|---|---|---|---|---|---|
JPEG/JFIF | 3.0 | 0 | 1.0 | Yes | Yes | 7.0 | Yes | |
JPEG 2000 (.jp2) | No | ? | ? | 2.0 | No | No | ? | |
JBIG 2 (.jb2) | No | ? | ? | No | No | No | ? | |
GIF | GIF 89a | 3.0 | 0 | 1.0 | Yes | Yes | 7.0 | Yes |
GIF 87a | 3.0 | 0 | 1.0 | Yes | Yes | 7.0 | Yes | |
PNG | 1.2 (W3C/ISO/IEC version) | Partial | 0 | 1.0 | Yes | Yes | 7.0 | Yes |
1.1 | Partial | 0 | 1.0 | Yes | Yes | 7.0 | Yes | |
1.0 | Partial | 0 | 1.0 | Yes | Yes | 7.0 | Yes | |
MNG | 1.0 | No | No | No [1] | ? | Yes | No | ? |
JNG | 1.0 | No | No | No [2] | ? | Yes | No | ? |
APNG | 0.4 | No | No | Yes | ? | No [3] | ? | ? |
SVG | 1.1 | No | No | Partial | No | Partial | Partial | No |
1.1 Basic (SVGB) | No | No | Partial | No | Partial | Partial | No | |
1.1 Tiny (SVGT) | No | No | Partial | No | Partial | 8.0 | No |
[edit] Gecko general overview notes
- SVG — Firefox 1.5 partially supports SVG 1.1. Modules that are supported, in progress, or not supported [4].
[edit] 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 a SVG plugin for Konqueror, known as KSVG [5]. The status page of KSVG(2) indicates its current status.
[edit] Presto general overview notes
- SVG Basic — Presto 9.0 has added quite large, but incomplete SVGB support.
[edit] JPEG support
Comparison of various JPEG/JFIF feature support.
Trident | Tasman | Gecko | WebCore | KParts | Presto | iCab | ||
---|---|---|---|---|---|---|---|---|
Operation mode | Baseline | 3.0 | Yes | 1.0 | Yes | Yes | 7.0 | Yes |
Progressive | 3.0 | Yes | 1.0 | Yes | Yes | 7.0 | Yes | |
Hierarchical | 3.0 | Yes | 1.0 | Yes | Yes | 7.0 | Yes | |
Lossless | 3.0 | Yes | 1.0 | Yes | Yes | 7.0 | Yes |
[edit] Trident JPEG support notes
- Progressive — Does not support progressive display of progressive JPEG.
[edit] GIF support
Comparison of various GIF feature support.
Trident | Tasman | Gecko | WebCore | KParts | Presto | iCab | ||
---|---|---|---|---|---|---|---|---|
GIF 87a | Interlacing | 3.0 | Yes | 1.0 | Yes | Yes | 7.0 | Yes |
GIF 89a | Binary transparency | 3.0 | Yes | 1.0 | Yes | Yes | 7.0 | Yes |
Animation | 3.0 | Yes | 1.0 | Yes | Yes | 7.0 | Yes |
[edit] PNG support
Comparison of various PNG feature support.
Trident | Tasman | Gecko | WebCore | KParts | Presto | iCab | ||
---|---|---|---|---|---|---|---|---|
Color mode | True color | 4.0 | 0 | 1.0 | Yes | Yes | 7.0 | Yes |
Grayscale | 4.0 | 0 | 1.0 | Yes | Yes | 7.0 | Yes | |
Palette-based (max. 256 colors) | 4.0 | 0 | 1.0 | Yes | Yes | 7.0 | Yes | |
Alpha channel | 7.0 | 0 | 1.0 | Yes | Yes | 7.0 | Yes | |
Gamma correction | No | 0 | 1.0 | Incorrect | ? | 7.0 | ? | |
Color correction | ? | 0 | 1.0 | ? | ? | ? | ? | |
Interlacing | Incorrect | 0 | 1.0 | ? | Incorrect | 7.0 | ? | |
Integrity checking | ? | ? | ? | ? | ? | ? | ? |
[edit] General PNG support notes
- Color mode — There are 15 combinations of the color modes in PNG [6]. Not all modes are available in every image tool through.
[edit] Trident PNG support notes
- Alpha channel — PNG support was added in version 4 but alpha channel is not supported [7]. It is, however, in IE version 7 [8].
- Interlacing — Interlaced PNG is displayed progressively, but in 1D instead of 2D.
[edit] WebCore PNG support notes
- Gamma correction — It is incorrectly applied to unlabeled PNGs [9].
[edit] KHTML PNG support notes
- Interlacing — Interlaced PNG can be displayed, but not progressively [10].
[edit] SVG 1.1 support
Comparison of various Scalable Vector Graphics element support.
Note: IE does not support SVG natively, but it does via third-party plugins.
Trident | Tasman | Gecko | WebCore | KSVG | Presto | iCab | |
---|---|---|---|---|---|---|---|
Structure Module | |||||||
svg | No | No | 1.8 | No | Yes | 8.0 (SVGT) | No |
g | No | No | 1.8 | No | Yes | 9.0 | No |
defs | No | No | 1.8 | No | Yes | 9.0 | No |
desc | No | No | 1.8 | No | No | 9.0 | No |
title | No | No | 1.8 | No | No | 9.0 | No |
metadata | No | No | 1.8 | No | ? | 9.0 | No |
symbol | No | No | 1.8 | No | No | 9.0 | No |
use | No | No | 1.8 | No | No | 9.0 | No |
Conditional Processing Module | |||||||
switch | No | No | 1.8 | No | ? | 9.0 | No |
Image Module | |||||||
image | No | No | 1.8 | No | No | 9.0 | No |
Style Module | |||||||
style | No | No | 1.8 | No | ? | 9.0 | No |
Shape Module | |||||||
path | No | No | 1.8 | No | Yes | 9.0 | No |
rect | No | No | 1.8 | No | Yes | 9.0 | No |
circle | No | No | 1.8 | No | Yes | 9.0 | No |
line | No | No | 1.8 | No | Yes | 9.0 | No |
ellipse | No | No | 1.8 | No | Yes | 9.0 | No |
polyline | No | No | 1.8 | No | Yes | 9.0 | No |
polygon | No | No | 1.8 | No | Yes | 9.0 | No |
Text Module | |||||||
text | No | No | 1.8 | No | Yes | 9.0 | No |
tspan | No | No | 1.8 | No | Yes | 9.0 | No |
tref | No | No | No | No | Yes | 9.0 | No |
textPath | No | No | 1.8.1 | No | Yes | 9.0 | No |
altGlyph | No | No | No | No | ? | No | No |
altGlyphDef | No | No | No | No | ? | No | No |
altGlyphItem | No | No | No | No | ? | No | No |
glyphRef | No | No | No | No | ? | No | No |
Marker Module | |||||||
marker | No | No | 1.8 | No | ? | 9.0 | No |
Color Profile Module | |||||||
color-profile | No | No | No | No | ? | No | No |
Gradient Module | |||||||
linearGradient | No | No | 1.8 | No | Yes | 8.0 | No |
radialGradient | No | No | 1.8 | No | Yes | 9.0 | No |
stop | No | No | 1.8 | No | Yes | 8.0 | No |
Pattern Module | |||||||
pattern | No | No | No | No | Yes | 9.0 | No |
Clip Module | |||||||
clipPath | No | No | 1.8 | No | ? | 9.0 | No |
Mask Module | |||||||
mask | No | No | No | No | ? | 9.0 | No |
Filter Module | |||||||
filter | No | No | No | No | ? | 9.0 | No |
feBlend | No | No | No | No | ? | 9.0 | No |
feColorMatrix | No | No | No | No | ? | 9.0 | No |
feComponentTransfer | No | No | 1.8 | No | ? | 9.0 | No |
feComposite | No | No | No | No | ? | 9.0 | No |
feConvolveMatrix | No | No | No | No | ? | 9.0 | No |
feDiffuseLighting | No | No | No | No | ? | 9.0 | No |
feDisplacementMap | No | No | No | No | ? | 9.0 | No |
feFlood | No | No | No | No | ? | 9.0 | No |
feGaussianBlur | No | No | No | No | ? | 9.0 | No |
feImage | No | No | No | No | ? | 9.0 | No |
feMerge | No | No | No | No | ? | 9.0 | No |
feMergeNode | No | No | No | No | ? | 9.0 | No |
feMorphology | No | No | No | No | ? | 9.0 | No |
feOffset | No | No | No | No | ? | 9.0 | No |
feSpecularLighting | No | No | No | No | ? | 9.0 | No |
feTile | No | No | No | No | ? | 9.0 | No |
feTurbulence | No | No | No | No | ? | 9.0 | No |
feDistantLight | No | No | No | No | ? | 9.0 | No |
fePointLight | No | No | No | No | ? | 9.0 | No |
feSpotLight | No | No | No | No | ? | 9.0 | No |
feFuncR | No | No | No | No | ? | 9.0 | No |
feFuncG | No | No | No | No | ? | 9.0 | No |
feFuncB | No | No | No | No | ? | 9.0 | No |
feFuncA | No | No | No | No | ? | 9.0 | No |
Cursor Module | |||||||
cursor | No | No | No | No | ? | No | No |
Hyperlinking Module | |||||||
a | No | No | 1.8 | No | Yes | 8.0 (SVGT) | No |
View Module | |||||||
view | No | No | No | No | ? | 9.0 | No |
Scripting Module | |||||||
script | No | No | 1.8 | No | ? | 9.0 | No |
Animation Module | |||||||
animate | No | No | No | No | Yes | 9.0 | No |
set | No | No | No | No | Yes | 9.0 | No |
animateMotion | No | No | No | No | No | 9.0 | No |
animateTransform | No | No | No | No | No | 9.0 | No |
animateColor | No | No | No | No | Yes | 9.0 | No |
mpath | No | No | No | No | ? | 9.0 | No |
Font Module | |||||||
font | No | No | No | No | ? | 9.0 | No |
font-face | No | No | No | No | ? | 8.0 (SVGT) | No |
glyph | No | No | No | No | ? | 8.0 (SVGT) | No |
missing-glyph | No | No | No | No | ? | 8.0 (SVGT) | No |
hkern | No | No | No | No | ? | 9.0 | No |
vkern | No | No | No | No | ? | 9.0 | No |
font-face-src | No | No | No | No | ? | 8.0 (SVGT) | No |
font-face-uri | No | No | No | No | ? | 9.0 | No |
font-face-format | No | No | No | No | ? | No | No |
font-face-name | No | No | No | No | ? | 8.0 (SVGT) | No |
definition-src | No | No | No | No | ? | No | No |
Extensibility Module | |||||||
foreignObject | No | No | 1.8 | No | ? | 9.0 | No |
[edit] References
- Netscape Help. Progressive JPEG Demonstration. Retrieved on May 1, 2005.
- Netadvies. Interlaced GIF demo. Retrieved on May 1, 2005.
- Jason Summers's web site. Browser test / demonstration pages. Retrieved on May 1, 2005.
- PNG and MNG tools. Browser gamma test. Retrieved on May 1, 2005.
- PNG (Portable Network Graphics) Home Site. Browser Gamma-Consistency Test. Retrieved on May 1, 2005.
- PNG (Portable Network Graphics) Home Site. PNG Interlacing Demo. Retrieved on May 1, 2005.
- PNG (Portable Network Graphics) Home Site. PNG-supporting Browsers. Retrieved on May 1, 2005.
- Opera 8 Features. SVG. Retrieved on May 1, 2005.
- Opera 9 Features. SVG. Retrieved on April 21, 2006.
- Mozilla SVG Project. Mozilla + SVG Status. Retrieved on May 1, 2005.
[edit] See also
- Comparison of layout engines
- Comparison of layout engines (HTML)
- Comparison of layout engines (XML)
- Comparison of layout engines (XHTML)
- Comparison of layout engines (CSS)
- Comparison of layout engines (DOM)
- Comparison of layout engines (WHATWG)
[edit] External links
- PNG, MNG, JNG and Mozilla M17
- SVG rendering engine comparison pages - visual comparison among various FOSS SVG rendering libraries
- W3C SVG Test Cases for SVG Full