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

  1. SVG — Firefox 1.5 partially supports SVG 1.1. Modules that are supported, in progress, or not supported [4].

[edit] 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 a SVG plugin for Konqueror, known as KSVG [5]. The status page of KSVG(2) indicates its current status.

[edit] Presto general overview notes

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

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

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

  1. Alpha channel — PNG support was added in version 4 but alpha channel is not supported [7]. It is, however, in IE version 7 [8].
  2. Interlacing — Interlaced PNG is displayed progressively, but in 1D instead of 2D.

[edit] WebCore PNG support notes

  1. Gamma correction — It is incorrectly applied to unlabeled PNGs [9].

[edit] KHTML PNG support notes

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

[edit] See also

[edit] External links