FontFaceSet

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

* Some parts of this feature may have varying levels of support.

Note: This feature is available in Web Workers.

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

A FontFaceSet instance is a Set-like object that can hold an ordered set of FontFace objects.

This property is available as Document.fonts, or self.fonts in web workers.

EventTarget FontFaceSet

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

FontFaceSet.size Read only

Returns the number of values in the FontFaceSet.

Events

loading

Fires when a font-face set has started loading.

loadingdone

Fires when a font face set has finished loading.

loadingerror

Fires when an error occurred whilst loading a font-face set.

Instance methods

FontFaceSet.add()

Adds a font to the font set.

FontFaceSet.check()

A boolean value 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.entries()

Returns a new iterator with the values for each element in the FontFaceSet in insertion order.

FontFaceSet.forEach()

Executes a provided function for each value in the FontFaceSet object.

FontFaceSet.has()

Returns a Boolean asserting whether an element is present with the given value.

FontFaceSet.keys()

An alias for FontFaceSet.values().

FontFaceSet.load()

Returns a Promise which resolves to a list of font-faces for a requested font.

FontFaceSet.values()

Returns a new iterator object that yields the values for each element in the FontFaceSet object in insertion order.

Specifications

Specification
CSS Font Loading Module Level 3
# FontFaceSet-interface

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
FontFaceSet
[Symbol.iterator]
FontFaceSet() constructor
DeprecatedNon-standard
add
check
clear
delete
entries
forEach
has
keys
load
loading event
loadingdone event
loadingerror event
ready
size
status
values
Available in workers

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
No support
No support
Non-standard. Check cross-browser support before using.
Deprecated. Not for use in new websites.
See implementation notes.
Has more compatibility info.