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.

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

BCD tables only load in the browser