FontFace

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

* Some parts of this feature may have varying levels of support.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Das FontFace-Interface der CSS Font Loading API repräsentiert eine einzelne nutzbare Schriftart.

Dieses Interface definiert die Quelle einer Schriftart, entweder eine URL zu einer externen Ressource oder ein Puffer, sowie Schrifteigenschaften wie style, weight und so weiter. Für URL-Schriftquellen ermöglicht es Autoren, den Zeitpunkt des Abrufs und Ladens der entfernten Schrift auszulösen und den Ladezustand zu verfolgen.

Konstruktor

FontFace()

Konstruiert und gibt ein neues FontFace-Objekt zurück, das aus einer externen Ressource, die durch eine URL beschrieben wird, oder aus einem ArrayBuffer erstellt wurde.

Instanzeigenschaften

FontFace.ascentOverride

Ein String, der die Aufstiegsmetrik der Schrift abruft oder festlegt. Es ist äquivalent zu dem ascent-override Deskriptor.

FontFace.descentOverride

Ein String, der die Abstiegsmetrik der Schrift abruft oder festlegt. Es ist äquivalent zu dem descent-override Deskriptor.

FontFace.display

Ein String, der bestimmt, wie eine Schriftart angezeigt wird, basierend darauf, ob und wann sie heruntergeladen und einsatzbereit ist.

FontFace.family

Ein String, der die Familie der Schrift abruft oder festlegt. Es ist äquivalent zu dem font-family Deskriptor.

FontFace.featureSettings

Ein String, der selten verwendete Schriftmerkmale abruft oder festlegt, die von den Varianten-Eigenschaften einer Schrift nicht verfügbar sind. Es ist äquivalent zur CSS font-feature-settings Eigenschaft.

FontFace.lineGapOverride

Ein String, der die Zeilenabstandsmessung der Schrift abruft oder festlegt. Es ist äquivalent zu dem line-gap-override Deskriptor.

FontFace.loaded Schreibgeschützt

Gibt ein Promise zurück, das mit dem aktuellen FontFace-Objekt aufgelöst wird, wenn die im Konstruktor des Objekts angegebene Schriftart fertig geladen ist, oder mit einem SyntaxError-DOMException abgelehnt wird.

FontFace.status Schreibgeschützt

Gibt einen enumerierten Wert zurück, der den Status der Schrift angibt, einer von "unloaded", "loading", "loaded" oder "error".

FontFace.stretch

Ein String, der abruft oder festlegt, wie die Schrift gestreckt wird. Es ist äquivalent zu dem font-stretch Deskriptor.

FontFace.style

Ein String, der den Stil der Schrift abruft oder festlegt. Es ist äquivalent zu dem font-style Deskriptor.

FontFace.unicodeRange

Ein String, der den Bereich der Unicode-Codepunkte abruft oder festlegt, die die Schrift umfasst. Es ist äquivalent zu dem unicode-range Deskriptor.

FontFace.variant Nicht standardisiert

Ein String, der die Variante der Schrift abruft oder festlegt.

FontFace.variationSettings Experimentell

Ein String, der die Variationseinstellungen der Schrift abruft oder festlegt. Es ist äquivalent zu dem font-variation-settings Deskriptor.

FontFace.weight

Ein String, der das Gewicht der Schrift enthält. Es ist äquivalent zu dem font-weight Deskriptor.

FontFace.load()

Lädt eine Schriftart basierend auf den Anforderungen des gegenwärtigen Konstruktor-Objekts, einschließlich eines Standort- oder Quellenpuffers, und gibt ein Promise zurück, das mit dem aktuellen FontFace-Objekt aufgelöst wird.

Beispiele

Der untenstehende Code definiert eine Schriftart mit Daten von der URL "my-font.woff" mit einigen Schriftdeskriptoren. Um zu zeigen, wie es funktioniert, definieren wir dann den stretch-Deskriptor mithilfe einer Eigenschaft.

js
//Define a FontFace
const font = new FontFace("my-font", "url(my-font.woff)", {
  style: "italic",
  weight: "400",
});

font.stretch = "condensed";

Als nächstes laden wir die Schriftart mit FontFace.load() und verwenden das zurückgegebene Promise, um den Abschluss zu verfolgen oder einen Fehler zu melden.

js
//Load the font
font.load().then(
  () => {
    // Resolved - add font to document.fonts
  },
  (err) => {
    console.error(err);
  },
);

Um die Schrift tatsächlich zu verwenden, müssen wir sie einem FontFaceSet hinzufügen. Dies könnten wir vor oder nach dem Laden der Schrift tun.

Für weitere Beispiele siehe CSS Font Loading API > Examples.

Spezifikationen

Specification
CSS Font Loading Module Level 3
# fontface-interface

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
FontFace
FontFace() constructor
ascentOverride
descentOverride
display
family
featureSettings
lineGapOverride
load
loaded
status
stretch
style
unicodeRange
variant
Non-standard
variationSettings
Experimental
weight
Available in workers

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
Non-standard. Check cross-browser support before using.

Siehe auch