FontFaceSet

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The FontFaceSet interface of the CSS Font Loading API manages the loading of font-faces and querying of their download status.

Properties

FontFaceSet.status Read only
Indicates the font-face's loading status. It will be one of 'loading' or 'loaded'.
FontFaceSet.ready Read only
Promise which resolves once font loading and layout operations have completed.

Events

FontFaceSet.onloading
An EventListener called whenever an event of type loading is fired, indicating a font-face set has started loading.
FontFaceSet.onloadingdone
An EventListener called whenever an event of type loadingdone is fired, indicating that a font face set has finished loading.
FontFaceSet.onloadingerror
An EventListener called whenever an event of type loadingerror is fired, indicating that an error occurred whilst loading a font-face set.

Methods

FontFaceSet.add()
Adds a font to the font set.
FontFaceSet.check()
A Boolean that indicates whether a font is loaded, but doesn't initiate a load when it isn't.
FontFaceSet.clear()
Removes all manually-added fonts from the font set. CSS-connected fonts are unaffected.
FontFaceSet.delete()
Removes a manually-added font from the font set. CSS-connected fonts are unaffected.
FontFaceSet.load()
Returns a Promise which resolves to a list of font-faces for a requested font.

Specifications

Specification Status Comment
CSS Font Loading Module Level 3
The definition of 'FontFaceSet' in that specification.
Editor's Draft Initial definition

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
FontFaceSet
Experimental
Chrome Full support 35Edge Full support ≤79Firefox Full support 41IE ? Opera Full support YesSafari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support 41Opera Android Full support YesSafari iOS Full support 10Samsung Internet Android Full support 4.0
add
Experimental
Chrome Full support 48Edge Full support ≤79Firefox Full support YesIE ? Opera Full support 35Safari Full support 10WebView Android Full support 48Chrome Android Full support 48Firefox Android Full support YesOpera Android Full support 35Safari iOS Full support YesSamsung Internet Android Full support 5.0
check
Experimental
Chrome Full support 35Edge Full support ≤79Firefox Full support 41IE ? Opera ? Safari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support 41Opera Android ? Safari iOS Full support YesSamsung Internet Android Full support 4.0
clear
Experimental
Chrome Full support 48Edge Full support ≤79Firefox Full support YesIE ? Opera Full support 35Safari Full support 10WebView Android Full support 48Chrome Android Full support 48Firefox Android Full support YesOpera Android Full support 35Safari iOS Full support YesSamsung Internet Android Full support 5.0
delete
Experimental
Chrome Full support 48Edge Full support ≤79Firefox Full support YesIE ? Opera Full support 35Safari Full support 10WebView Android Full support 48Chrome Android Full support 48Firefox Android Full support YesOpera Android Full support 35Safari iOS Full support YesSamsung Internet Android Full support 5.0
load
Experimental
Chrome Full support 35Edge Full support ≤79Firefox Full support 41IE ? Opera Full support 35Safari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support 41Opera Android Full support 35Safari iOS Full support YesSamsung Internet Android Full support 4.0
onloading
Experimental
Chrome Full support 48Edge Full support ≤79Firefox Full support YesIE ? Opera Full support 35Safari Full support 10WebView Android Full support 48Chrome Android Full support 48Firefox Android Full support YesOpera Android Full support 35Safari iOS Full support YesSamsung Internet Android Full support 5.0
onloadingdone
Experimental
Chrome Full support 48Edge Full support ≤79Firefox Full support YesIE ? Opera Full support 35Safari Full support 10WebView Android Full support 48Chrome Android Full support 48Firefox Android Full support YesOpera Android Full support 35Safari iOS Full support YesSamsung Internet Android Full support 5.0
onloadingerror
Experimental
Chrome Full support 48Edge Full support ≤79Firefox Full support YesIE ? Opera Full support 35Safari Full support 10WebView Android Full support 48Chrome Android Full support 48Firefox Android Full support YesOpera Android Full support 35Safari iOS Full support YesSamsung Internet Android Full support 5.0
ready
Experimental
Chrome Full support 35Edge Full support ≤79Firefox Full support 41IE ? Opera Full support 35Safari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support 41Opera Android Full support 35Safari iOS Full support YesSamsung Internet Android Full support 4.0
status
Experimental
Chrome Full support 48Edge Full support ≤79Firefox Full support YesIE ? Opera Full support 35Safari Full support 10WebView Android Full support 48Chrome Android Full support 48Firefox Android Full support YesOpera Android Full support 35Safari iOS Full support YesSamsung Internet Android Full support 5.0
Available in workers
Experimental
Chrome Full support 69Edge Full support ≤79Firefox ? IE ? Opera ? Safari ? WebView Android Full support 69Chrome Android Full support 69Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android Full support 10.0

Legend

Full support
Full support
Compatibility unknown
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.