# 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'`.

### 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 fonts from the font set.
`FontFaceSet.delete()`
Removes a font from the font set.
`FontFaceSet.load()`
Returns a `Promise` which resolves to a list of font-faces for a requested font.
`FontFaceSet.ready()`
Returns a `Promise` which resolves once font loading and layout operations have completed.

## Specifications

Specification Status Comment
The definition of 'FontFaceSet' in that specification.
Working Draft Initial definition

## Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support35 ?41 ? ?10
`status` ? ? ? ? ? ?
`onloading` ? ? ? ? ? ?
`onloadingdone` ? ? ? ? ? ?
`onloadingerror` ? ? ? ? ? ?
`add` ? ? ? ? ? ?
`check`35 ?41 ? ? ?
`clear`48 ? ? ? ? ?
`delete` ? ? ? ? ? ?
`load`35 ?41 ? ? ?
`ready`35 ?41 ? ? ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support3535 ?41 ?10 ?
`status` ? ? ? ? ? ? ?
`onloading` ? ? ? ? ? ? ?
`onloadingdone` ? ? ? ? ? ? ?
`onloadingerror` ? ? ? ? ? ? ?
`add` ? ? ? ? ? ? ?
`check`3535 ?41 ? ? ?
`clear`4848 ? ? ? ? ?
`delete` ? ? ? ? ? ? ?
`load`3535 ?41 ? ? ?
`ready`3535 ?41 ? ? ?

Tags: