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

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic support
Experimental
Chrome Full support 35Edge ? Firefox Full support 41IE ? Opera ? Safari ? WebView Android Full support 37Chrome Android Full support 35Edge Mobile ? Firefox Android Full support 41Opera Android ? Safari iOS ? Samsung Internet Android ?

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.

See also

  •  

Document Tags and Contributors

Contributors to this page: dreitzner, jsx
Last updated by: dreitzner,