FontFace.FontFace()

Draft
This page is not complete.

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The FontFace() constructor creates a new FontFace object.

Syntax

var fontFace = new FontFace(family, source, descriptors);

Parameters

family
Specifies a name that will be used as the font face value for font properties. Takes the same type of values as the font-family descriptor of @font-face .
source
The font source. This can be either:
  • A URL
  • Binary font data
descriptors Optional
A set of optional descriptors passed as an object. It can have the following keys:
  • family: Family
  • style: Style
  • weight: Weight
  • stretch: Stretch
  • unicodeRange: Unicode range
  • variant: variant
  • featureSettings: Feature settings

Example

async function loadFonts() {
    const font = new FontFace('myfont', 'url(myfont.woff)');
    // wait for font to be loaded
    await font.load();
    // add font to document
    document.fonts.add(font);
    // enable font with CSS class
    document.body.classList.add('fonts-loaded');
}

Specifications

Specification Status Comment
CSS Font Loading Module Level 3
The definition of 'FontFace Constructor' in that specification.
Working Draft Initial definition

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
FontFace() constructorChrome Full support 35Edge Full support 79Firefox Full support 41IE ? Opera Full support 22Safari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support 41Opera Android Full support 22Safari iOS Full support 10Samsung Internet Android Full support 4.0

Legend

Full support
Full support
Compatibility unknown
Compatibility unknown

See also