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 onlyPromise
which resolves once font loading and layout operations have completed.
Events
FontFaceSet.onloading
- An
EventListener
called whenever an event of typeloading
is fired, indicating a font-face set has started loading. FontFaceSet.onloadingdone
- An
EventListener
called whenever an event of typeloadingdone
is fired, indicating that a font face set has finished loading. FontFaceSet.onloadingerror
- An
EventListener
called whenever an event of typeloadingerror
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
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
FontFaceSet | Chrome Full support 35 | Edge Full support ≤79 | Firefox Full support 41 | IE ? | Opera Full support Yes | Safari Full support 10 | WebView Android Full support 37 | Chrome Android Full support 35 | Firefox Android Full support 41 | Opera Android Full support Yes | Safari iOS Full support 10 | Samsung Internet Android Full support 4.0 |
add | Chrome Full support 48 | Edge Full support ≤79 | Firefox Full support Yes | IE ? | Opera Full support 35 | Safari Full support 10 | WebView Android Full support 48 | Chrome Android Full support 48 | Firefox Android Full support Yes | Opera Android Full support 35 | Safari iOS Full support Yes | Samsung Internet Android Full support 5.0 |
check | Chrome Full support 35 | Edge Full support ≤79 | Firefox Full support 41 | IE ? | Opera ? | Safari Full support 10 | WebView Android Full support 37 | Chrome Android Full support 35 | Firefox Android Full support 41 | Opera Android ? | Safari iOS Full support Yes | Samsung Internet Android Full support 4.0 |
clear | Chrome Full support 48 | Edge Full support ≤79 | Firefox Full support Yes | IE ? | Opera Full support 35 | Safari Full support 10 | WebView Android Full support 48 | Chrome Android Full support 48 | Firefox Android Full support Yes | Opera Android Full support 35 | Safari iOS Full support Yes | Samsung Internet Android Full support 5.0 |
delete | Chrome Full support 48 | Edge Full support ≤79 | Firefox Full support Yes | IE ? | Opera Full support 35 | Safari Full support 10 | WebView Android Full support 48 | Chrome Android Full support 48 | Firefox Android Full support Yes | Opera Android Full support 35 | Safari iOS Full support Yes | Samsung Internet Android Full support 5.0 |
load | Chrome Full support 35 | Edge Full support ≤79 | Firefox Full support 41 | IE ? | Opera Full support 35 | Safari Full support 10 | WebView Android Full support 37 | Chrome Android Full support 35 | Firefox Android Full support 41 | Opera Android Full support 35 | Safari iOS Full support Yes | Samsung Internet Android Full support 4.0 |
onloading | Chrome Full support 48 | Edge Full support ≤79 | Firefox Full support Yes | IE ? | Opera Full support 35 | Safari Full support 10 | WebView Android Full support 48 | Chrome Android Full support 48 | Firefox Android Full support Yes | Opera Android Full support 35 | Safari iOS Full support Yes | Samsung Internet Android Full support 5.0 |
onloadingdone | Chrome Full support 48 | Edge Full support ≤79 | Firefox Full support Yes | IE ? | Opera Full support 35 | Safari Full support 10 | WebView Android Full support 48 | Chrome Android Full support 48 | Firefox Android Full support Yes | Opera Android Full support 35 | Safari iOS Full support Yes | Samsung Internet Android Full support 5.0 |
onloadingerror | Chrome Full support 48 | Edge Full support ≤79 | Firefox Full support Yes | IE ? | Opera Full support 35 | Safari Full support 10 | WebView Android Full support 48 | Chrome Android Full support 48 | Firefox Android Full support Yes | Opera Android Full support 35 | Safari iOS Full support Yes | Samsung Internet Android Full support 5.0 |
ready | Chrome Full support 35 | Edge Full support ≤79 | Firefox Full support 41 | IE ? | Opera Full support 35 | Safari Full support 10 | WebView Android Full support 37 | Chrome Android Full support 35 | Firefox Android Full support 41 | Opera Android Full support 35 | Safari iOS Full support Yes | Samsung Internet Android Full support 4.0 |
status | Chrome Full support 48 | Edge Full support ≤79 | Firefox Full support Yes | IE ? | Opera Full support 35 | Safari Full support 10 | WebView Android Full support 48 | Chrome Android Full support 48 | Firefox Android Full support Yes | Opera Android Full support 35 | Safari iOS Full support Yes | Samsung Internet Android Full support 5.0 |
Available in workers | Chrome Full support 69 | Edge Full support ≤79 | Firefox ? | IE ? | Opera ? | Safari ? | WebView Android Full support 69 | Chrome Android Full support 69 | Firefox 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.