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.
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 CustomStateSet.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
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
@@iterator |
48 |
79 |
41 |
No |
35 |
10 |
48 |
48 |
41 |
35 |
10 |
5.0 |
FontFaceSet |
No |
No |
No |
No |
No |
10 |
No |
No |
No |
No |
10 |
No |
FontFaceSet |
35Chrome does not expose the FontFaceSet interface directly, and is only available through Document.fonts or WorkerGlobalScope.fonts. |
79Edge does not expose the FontFaceSet interface directly, and is only available through Document.fonts or WorkerGlobalScope.fonts. |
41 |
No |
22Opera does not expose the FontFaceSet interface directly, and is only available through Document.fonts or WorkerGlobalScope.fonts. |
10 |
37Chrome does not expose the FontFaceSet interface directly, and is only available through Document.fonts or WorkerGlobalScope.fonts. |
35Chrome does not expose the FontFaceSet interface directly, and is only available through Document.fonts or WorkerGlobalScope.fonts. |
41 |
22Opera does not expose the FontFaceSet interface directly, and is only available through Document.fonts or WorkerGlobalScope.fonts. |
10 |
3.0Samsung Internet does not expose the FontFaceSet interface directly, and is only available through Document.fonts or WorkerGlobalScope.fonts. |
add |
35 |
79 |
41 |
No |
22 |
10 |
37 |
35 |
41 |
22 |
10 |
3.0 |
check |
35The method returns false instead of true for nonexistent or locally installed fonts. See bug 591602. |
79The method returns false instead of true for nonexistent or locally installed fonts. See bug 591602. |
41 |
No |
22The method returns false instead of true for nonexistent or locally installed fonts. See bug 591602. |
10 |
37The method returns false instead of true for nonexistent or locally installed fonts. See bug 591602. |
35The method returns false instead of true for nonexistent or locally installed fonts. See bug 591602. |
41 |
22The method returns false instead of true for nonexistent or locally installed fonts. See bug 591602. |
10 |
3.0The method returns false instead of true for nonexistent or locally installed fonts. See bug 591602. |
clear |
35 |
79 |
41 |
No |
22 |
10 |
37 |
35 |
41 |
22 |
10 |
3.0 |
delete |
35 |
79 |
41 |
No |
22 |
10 |
37 |
35 |
41 |
22 |
10 |
3.0 |
entries |
48 |
79 |
41 |
No |
35 |
10 |
48 |
48 |
41 |
35 |
10 |
5.0 |
forEach |
35 |
79 |
41 |
No |
22 |
10 |
37 |
35 |
41 |
22 |
10 |
3.0 |
has |
35 |
79 |
41 |
No |
22 |
10 |
37 |
35 |
41 |
22 |
10 |
3.0 |
keys |
48 |
79 |
41 |
No |
35 |
10 |
48 |
48 |
41 |
35 |
10 |
5.0 |
load |
35 |
79 |
41 |
No |
22 |
10 |
37 |
35 |
41 |
22 |
10 |
3.0 |
loading_event |
35 |
79 |
41 |
No |
22 |
10 |
37 |
35 |
41 |
22 |
10 |
3.0 |
loadingdone_event |
35 |
79 |
41 |
No |
22 |
10 |
37 |
35 |
41 |
22 |
10 |
3.0 |
loadingerror_event |
35 |
79 |
41 |
No |
22 |
10 |
37 |
35 |
41 |
22 |
10 |
3.0 |
ready |
35 |
79 |
41 |
No |
22 |
10 |
37 |
35 |
41 |
22 |
10 |
3.0 |
size |
35 |
79 |
41 |
No |
22 |
10 |
37 |
35 |
41 |
22 |
10 |
3.0 |
status |
35 |
79 |
41 |
No |
22 |
10 |
37 |
35 |
41 |
22 |
10 |
3.0 |
values |
48 |
79 |
41 |
No |
35 |
10 |
48 |
48 |
41 |
35 |
10 |
5.0 |
worker_support |
69 |
79 |
105 |
No |
56 |
No |
69 |
69 |
105 |
48 |
No |
10.0 |