Comparison of browser engines (typography support)

From Wikipedia, the free encyclopedia

This article compares web typography support for several browser engines.

Explanation of the tables[]

Engine Status Embedded in
WebKit Active Safari browser, plus all browsers hosted on the iOS App Store.
Blink Active Google Chrome and other web browsers based on Chromium, such as Microsoft Edge, Opera, and Brave.
EdgeHTML Maintained Universal Windows Platform apps; formerly in the Edge browser[1].
Gecko Active Firefox browser and Thunderbird email client, plus forks like SeaMonkey and Waterfox.
KHTML Active Konqueror browser
Presto Discontinued Formerly used as Opera's browser engine, prior to the migration to Chromium and Blink.
MSHTML (Trident) Maintained Internet Explorer and versions of Microsoft Outlook prior to Outlook 2007.

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.

Legend
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[]

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. MSHTML before version 5.0 supports only EOT. EOT is not sufficient for smartfonts that rely on ligatures.

MSHTML[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[]

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

Format MSHTML/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[]

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

Format MSHTML 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[]

Format MSHTML 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[]

Notes[]

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

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
MSHTML/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, archived from the original on 2010-01-19, retrieved 2010-02-17
  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, archived from the original on 2010-02-10, retrieved 2010-02-16
  2. ^ Seven Web Fonts showcases, Opera, 2009-09-01, archived from the original on 2010-02-14, retrieved 2010-02-17
  3. ^ When letter-spacing is increased, these characters are spacing.
  1. ^ Mackie, Kurt (10 December 2018). "Microsoft Edge Browser To Get New Rendering Engine but EdgeHTML Continues". Redmond Mag. Retrieved 21 December 2019.
Retrieved from ""