Comparison of browser engines (typography support)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

This article compares web typography support for several browser engines.

Explanation of the tables[edit]

Engine Status Embedded in
WebKit Active Safari browser, plus all browsers hosted on the iOS App Store
Blink Active Google Chrome and all other Chromium-based browsers like Microsoft Edge and Opera
Gecko Active Firefox browser and Thunderbird email client, plus forks like SeaMonkey and Waterfox
KHTML Discontinued Konqueror browser
Presto Discontinued formerly in the Opera browser
EdgeHTML Discontinued formerly in the Microsoft Edge browser
Trident Discontinued Internet Explorer browser and Microsoft Outlook email client

Values[edit]

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

Support for CSS font resources[edit]

CSS3 specified a mechanism for downloading and displaying fonts within a web page.[spec 1] This table compare support for that mechanism. Note that Embedded OpenType (EOT) font download does not bring in the entire OpenType font and therefore, the most prominent feature of Open Type, ligature support, does not come with EOT. Trident before version 5.0 supports only EOT. EOT is not sufficient for smartfonts that rely on ligatures.

Trident[m 1] Gecko[g 1] WebKit[w 1] Presto[p 1][p 2]
Grammar and rules
CSS3 @font-face <3.1[IE 4.0] 1.9.1 525[note 1] 2.2
Descriptors
CSS3 font-family <3.1[IE 4.0] 1.9.1 525 2.2
src Partial[note 2]
font-style <3.1[IE 4.0]
font-weight
font-stretch 5.0[m 3] 9.0[g 2] No[w 6] No
unicode-range Experimental[g 3] Partial[note 3]
font-variant No 24.0[g 4] No No
font-feature-settings 6.0[m 4] Experimental[g 5]

Support in HTML and XML documents[edit]

This table compares support for font formats applied with the @font-face rule in HTML and XML documents.

Format Trident/EdgeHTML Gecko WebKit Blink
EOT Embedded OpenType <3.1[m 5] No[g 6] No[w 8] No[b 1]
TTF TrueType 5.0[m 6] 1.9.1[g 7] 525.26[w 9] 537.36[w 9]
OTF OpenType
SVG Scalable Vector Graphics No[m 7] No[g 8] No[b 2]
WOFF Web Open Font Format 1.0 5.0[m 8] 1.9.2[g 9] 534.48.3[w 10] 537.36[w 10]
2.0 14.14316[m 9] 36[g 10] 602.1.50[w 11] 537.36[b 3]

Support in SVG documents[edit]

This table compares support for font formats applied with the @font-face rule in SVG documents.

Format Trident Gecko[g 11] WebKit Presto
Embedded OpenType (EOT) No No[g 6] No[w 8] No
TrueType (TTF) Yes Yes 2.2
OpenType (OTF) 18.0 No
Scalable Vector Graphics (SVG) No[g 8] 525
Web Open Font Format (WOFF) No No[w 10] 2.7.81

Smart font features support[edit]

Format Trident Gecko WebKit Presto
OpenType liga ligatures[spec 2] No 2.0 Partial[w 12] No
OpenType rlig ligatures[spec 3] No
ZWNJ and ZWJ (Unicode characters used for ligature control) Yes Yes No[p 3]

See also[edit]

Notes[edit]

  1. ^ Prior to version 4.0, Google Chrome had font support disabled.[w 2][w 3][w 4][w 5]
  2. ^ Doesn't understand the format() or local() identifiers.[m 2]
  3. ^ Doesn't understand multiple, comma-separated ranges.[w 7]

References[edit]

Specifications
  1. ^ CSS Fonts Module Level 3 - Font resources, W3C
  2. ^ OpenType Layout tag registry, Tag: 'liga', Microsoft
  3. ^ OpenType Layout tag registry, Tag: 'rlig', Microsoft
Trident/EdgeHTML
Gecko
WebKit
  1. ^ Hyatt, Dave (2007-10-03), Downloadable Fonts, Apple
  2. ^ Issue 9633: Disable web fonts by default, Google, 2009-04-01
  3. ^ Full pass of acid3 - Chromium-dev, Google, 2009-07-03
  4. ^ Issue 17818: Enabled dynamic / web font support in a secure manner, Google, 2009-07-27
  5. ^ Irish, Paul (2010-01-25), Chrome and @font-face: It's here!
  6. ^ Bug 12530 - CSS3: Support the font-stretch property, WebKit
  7. ^ @font-face support in Safari
  8. ^ a b Bug 20542 - Adding EOT Font Rendering capability, WebKit
  9. ^ a b Changeset 29012 – WebKit, WebKit
  10. ^ a b c >31302 – Add WOFF support for @font-face, WebKit
  11. ^ Safari 10.0, Apple
  12. ^ On Safari, ligatures may be switched on with the CSS setting text-rendering, but then, they are used indiscriminately even when letter-spacing is increased (see Fraktur letterspacing); on Google Chrome, ligatures do not work.
Blink
Presto
  1. ^ Mills, Chris (2008-12-04), Opera Presto 2.2 and Opera 10 — a first look, Opera
  2. ^ Seven Web Fonts showcases, Opera, 2009-09-01
  3. ^ When letter-spacing is increased, these characters are spacing.