W3docs

CSS font-language-override Eigenschaft

Die CSS-Eigenschaft font-language-override legt das Sprachsystem der Schrift fest. Werte und Beispiele im Überblick.

Die CSS-Eigenschaft font-language-override steuert, welchen Satz sprachspezifischer Glyphen eine Schriftart verwendet. Viele Schriftarten enthalten alternative Glyphenformen, die für eine Sprache korrekt, für eine andere jedoch falsch sind – dasselbe Unicode-Zeichen kann in türkischen, dänischen oder rumänischen Texten unterschiedlich dargestellt werden. Mit dieser Eigenschaft können Sie der Schrift-Engine mitteilen, welche typografischen Regeln einer Sprache angewendet werden sollen, unabhängig von der tatsächlichen Sprache des Dokuments.

Diese Seite erklärt, was die Eigenschaft bewirkt, wann sie nützlich ist, welche Werte sie akzeptiert und wie sie sich vom HTML-Attribut lang unterscheidet.

Was sie bewirkt

Moderne OpenType-Schriftarten enthalten ein locl-Feature (lokalisierte Formen): eine Tabelle, die sprachspezifische Glyphen basierend auf der Sprachauszeichnung des Textes einbindet. Normalerweise entnimmt der Browser die Sprache aus dem HTML-Attribut lang und übergibt sie an die Schriftart, die dann die passenden Glyphen auswählt.

font-language-override ermöglicht es Ihnen, diese automatische Auswahl zu überschreiben. Anstatt dem lang-Attribut zu vertrauen, übergeben Sie der Schriftart direkt ein OpenType-Sprachsystem-Tag. Dies ist in zwei Situationen nützlich:

  • Die Schriftart hat die richtigen Glyphen, aber das falsche Tag. Manche Schriftarten machen ihre lokalisierten Formen nur unter einem bestimmten Sprachtag zugänglich (zum Beispiel kann ein rumänisches Komma-unten ș nur unter dem moldauischen Tag erscheinen). Durch Setzen von font-language-override wird dieses Feature aktiviert.
  • Sie möchten die typografischen Regeln einer anderen Sprache verwenden. Wenn einem Schriftschnitt die korrekten Regeln für die Dokumentsprache fehlen, können Sie Glyphen einer verwandten Sprache ausleihen, die ähnlichen Konventionen folgt.

Hinweis: font-language-override ändert nur die Glyphenauswahl. Es ändert nicht die Sprache für die Rechtschreibprüfung, Silbentrennung oder Screenreader – diese verwenden weiterhin das lang-Attribut, das Sie stets korrekt setzen sollten.

Anfangswertnormal
Gilt fürAlle Elemente. Gilt auch für ::first-letter und ::first-line.
VererbbarJa.
AnimierbarDiskret.
VersionCSS3
DOM-Syntaxobject.style.fontLanguageOverride = "normal";

Syntax

font-language-override: normal | <string>;

Der <string> ist ein in Anführungszeichen gesetztes OpenType-Sprachsystem-Tag (zum Beispiel "ENG" für Englisch, "DAN" für Dänisch, "TRK" für Türkisch). Diese Tags stammen aus der OpenType-Spezifikation und bestehen üblicherweise aus drei Großbuchstaben – sie sind nicht dasselbe wie die zweistelligen BCP-47-Codes, die vom lang-Attribut verwendet werden. Wenn der string keinem Sprachsystem entspricht, das die Schriftart unterstützt, hat die Deklaration keinen sichtbaren Effekt.

Beispiel

Das folgende Beispiel zeigt die Eigenschaft in der Praxis. Der erste Absatz behält das Standardverhalten (normal) bei, der zweite erzwingt die Auswahl dänischer Glyphen.

<!DOCTYPE html>
<html>
  <head>
    <title>The title of the document </title>
    <style>
      .example1 {
        font-language-override: normal;
      }
      .example2 {
        font-language-override: "da";
      }
    </style>
  </head>
  <body>
    <h2>Font-language-override property example</h2>
    <p class="example1">Default language setting.</p>
    <p class="example2">Here the font-language-override is set to Danish.</p>
  </body>
</html>

Da die meisten Systemschriftarten lokalisierte Formen nur für eine Handvoll Sprachen mitliefern, wird häufig keine Änderung im gerenderten Text sichtbar sein – der Effekt ist nur dann sichtbar, wenn die aktive Schriftart tatsächlich alternative Glyphen für das getaggte Sprachsystem enthält.

Werte

WertBeschreibung
normalWeist den Browser an, Glyphen zu verwenden, die für die im Attribut lang angegebene Sprache geeignet sind. Dies ist der Standardwert.
<string>Ein in Anführungszeichen gesetztes OpenType-Sprachsystem-Tag. Weist den Browser an, die Glyphen dieses Sprachsystems zu verwenden, anstatt der aus lang abgeleiteten.

Browser-Unterstützung und Hinweise

  • Die Unterstützung ist begrenzt: Diese Eigenschaft hat historisch gesehen nur in Firefox funktioniert. Die meisten Chromium- und WebKit-Browser ignorieren sie, verlassen Sie sich daher nicht ausschließlich auf sie als Mechanismus für korrekte lokalisierte Typografie.
  • Der zuverlässige, browserübergreifende Weg zum Erhalten sprachspezifischer Glyphen besteht darin, das Attribut lang in Ihrem HTML korrekt zu setzen. Verwenden Sie font-language-override nur als gezielten Fix, wenn eine bestimmte Schriftart ihre Glyphen auf nicht standardisierte Weise kennzeichnet.
  • Für eine feiner abgestufte Kontrolle über einzelne OpenType-Features siehe font-feature-settings, und für übergeordnete Kurzschreibweisen siehe font-variant und font-family.

Übungsaufgaben

Übung
Was ist der Zweck der Eigenschaft 'font-language-override' in CSS?
Was ist der Zweck der Eigenschaft 'font-language-override' in CSS?
Was this page helpful?