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 vonfont-language-overridewird 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 daslang-Attribut, das Sie stets korrekt setzen sollten.
| Anfangswert | normal |
|---|---|
| Gilt für | Alle Elemente. Gilt auch für ::first-letter und ::first-line. |
| Vererbbar | Ja. |
| Animierbar | Diskret. |
| Version | CSS3 |
| DOM-Syntax | object.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
| Wert | Beschreibung |
|---|---|
normal | Weist 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
langin Ihrem HTML korrekt zu setzen. Verwenden Siefont-language-overridenur 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 siehefont-variantundfont-family.