// GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) // Source: CSS Font Loading Module Level 3 (https://drafts.csswg.org/css-font-loading-3/) typedef (ArrayBuffer or ArrayBufferView) BinaryData; dictionary FontFaceDescriptors { CSSOMString style = "normal"; CSSOMString weight = "normal"; CSSOMString stretch = "normal"; CSSOMString unicodeRange = "U+0-10FFFF"; CSSOMString featureSettings = "normal"; CSSOMString variationSettings = "normal"; CSSOMString display = "auto"; CSSOMString ascentOverride = "normal"; CSSOMString descentOverride = "normal"; CSSOMString lineGapOverride = "normal"; }; enum FontFaceLoadStatus { "unloaded", "loading", "loaded", "error" }; [Exposed=(Window,Worker)] interface FontFace { constructor(CSSOMString family, (CSSOMString or BinaryData) source, optional FontFaceDescriptors descriptors = {}); attribute CSSOMString family; attribute CSSOMString style; attribute CSSOMString weight; attribute CSSOMString stretch; attribute CSSOMString unicodeRange; attribute CSSOMString featureSettings; attribute CSSOMString variationSettings; attribute CSSOMString display; attribute CSSOMString ascentOverride; attribute CSSOMString descentOverride; attribute CSSOMString lineGapOverride; readonly attribute FontFaceLoadStatus status; Promise load(); readonly attribute Promise loaded; }; [Exposed=(Window,Worker)] interface FontFaceFeatures { /* The CSSWG is still discussing what goes in here */ }; [Exposed=(Window,Worker)] interface FontFaceVariationAxis { readonly attribute DOMString name; readonly attribute DOMString axisTag; readonly attribute double minimumValue; readonly attribute double maximumValue; readonly attribute double defaultValue; }; [Exposed=(Window,Worker)] interface FontFaceVariations { readonly setlike; }; [Exposed=(Window,Worker)] interface FontFacePalette { iterable; readonly attribute unsigned long length; getter DOMString (unsigned long index); readonly attribute boolean usableWithLightBackground; readonly attribute boolean usableWithDarkBackground; }; [Exposed=(Window,Worker)] interface FontFacePalettes { iterable; readonly attribute unsigned long length; getter FontFacePalette (unsigned long index); }; partial interface FontFace { readonly attribute FontFaceFeatures features; readonly attribute FontFaceVariations variations; readonly attribute FontFacePalettes palettes; }; dictionary FontFaceSetLoadEventInit : EventInit { sequence fontfaces = []; }; [Exposed=(Window,Worker)] interface FontFaceSetLoadEvent : Event { constructor(CSSOMString type, optional FontFaceSetLoadEventInit eventInitDict = {}); [SameObject] readonly attribute FrozenArray fontfaces; }; enum FontFaceSetLoadStatus { "loading", "loaded" }; [Exposed=(Window,Worker)] interface FontFaceSet : EventTarget { constructor(sequence initialFaces); setlike; FontFaceSet add(FontFace font); boolean delete(FontFace font); undefined clear(); // events for when loading state changes attribute EventHandler onloading; attribute EventHandler onloadingdone; attribute EventHandler onloadingerror; // check and start loads if appropriate // and fulfill promise when all loads complete Promise> load(CSSOMString font, optional CSSOMString text = " "); // return whether all fonts in the fontlist are loaded // (does not initiate load if not available) boolean check(CSSOMString font, optional CSSOMString text = " "); // async notification that font loading and layout operations are done readonly attribute Promise ready; // loading state, "loading" while one or more fonts loading, "loaded" otherwise readonly attribute FontFaceSetLoadStatus status; }; interface mixin FontFaceSource { readonly attribute FontFaceSet fonts; }; Document includes FontFaceSource; WorkerGlobalScope includes FontFaceSource;