2025-04-27
Zum Design eigener Dokumente (ob Web oder auf Papier) gehört die Gestaltung mit selbst gewählten Fonts. Diese können in HTML problemlos festgelegt werden. Da man beim Betrachter nicht voraussetzen kann, dass der eigene Wunschfont installiert ist, verwendet man Web-Fonts, die über das Internet geladen werden.
Google stellt freie Fonts seit längerem erfolgreich und zentral zur Verfügung.
Dateienzahl: Zu jeder Fontfamilie (das, was wir mit einem Namen kennzeichnen, z.B. "Open Sans" oder "Arial") gehören verschiedene Font-Dateien, um jede gewünschte Darstellungsart erreichen zu können. Diese werden erst einmal für normal/italic und andererseits für verschiedene Dicken der Zeichen ("weight") benötigt. Google selbst unterteilt die Dateien außerdem nach Zielgruppen, d.h. welche Zeichen enthalten sein sollen, in "latin", "latin-ext", "greek" und einige weitere. Diese Dateien gibt es außerdem jeweils in verschiedenen Formaten für ältere und neuere Browser. Will man also Open Sans in dünn, normal, fett und ultrafett sowie dasselbe in italic, mit drei Datei-Varianten (ttf, woff, woff2), so handelt es sich bereits um 24 Dateien, ohne dass man sich um den Zeichenumfang gekümmert hat. Kein Wunder, dass die meisten Webdesigner die Arbeit Google überlassen. Dieser Aufwand lässt sich inzwischen aber deutlich reduzieren!
Variable Fonts ermöglichen mit weniger Dateien die Ziele flexibler Typographie zu erreichen. Dazu ist eine Kombination aus modernem Betriebssystem und leidlich aktuellem Browser nötig! Ignoriert man uralte Systeme, so verringert sich der Aufwand deutlich.
Der Clou:
Das woff2-Format ermöglicht “variable Fonts”1 2 3.
Dies bedeutet, dass man i.d.R. keine getrennten Dateien für schmal,
normal und fette Schrift braucht, sondern diese Schnitte typographisch
korrekt aus einer einzigen Datei errechnet werden (über CSS
gesteuert).
Welche Fonts es bereits gibt, kann Google Fonts gefiltert
auflisten. Sofern einem diese Fonts genügen, gelten die folgenden
Vorschläge:
Damit sind mehrere Probleme gelöst:
Handling: Komplexität verringert.
Datenschutz: keine erzwungenen Abfragen bei Google wenn jemand deine Seite besucht.
Dazu kommt als Bonus:
Performance: Schnelle Lösung, da weniger Dateizugriffe nötig sind. Die notwendige DNS-Abfrage zu deiner Seite ist längst gemacht worden, bevor die Fonts abgerufen werden müssen.
HTTP/2 ermöglicht, dass die Fonts auf demselben Server über dieselbe Session - auch interleaved - übertragen werden. Solange dein Server nicht an sich lahm ist, sollte damit der Abruf sehr schnell sein! Prüfe, ob dein Anbieter inzwischen HTTP/2 (nur via HTTPS möglich) nutzt!
Mit einem Preload kann man eine (Font-)-Datei sehr früh im Seitenaufbau übertragen lassen. Diese ist im Fall von variablen Fonts bereits sehr weit nutzbar.
Was benötigen wir?
In Stichpunkten (neues Vorgehen 2025):
/.htaccess
(mit dem Punkt) notwendig. Wegen
Beschränkungen5 muss man dem Server erst erlauben,
dass er Fonts an alle möglichen Interessenten ausliefert. Ob du das
willst musst du wissen...<FilesMatch "\.(woff2)$">
<IfModule mod_headers.c>
set Access-Control-Allow-Origin "*"
Header</IfModule>
</FilesMatch>
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 100 900;
font-display: swap;
src: url(https://example.de/fonts/Roboto.woff2) format("woff2 supports variations"),
url(https://example.de/fonts/Roboto.woff2) format("woff2-variations");
}@font-face {
font-family: 'Roboto';
font-style: italic;
font-weight: 100 900;
font-display: swap;
src: url(https://example.de/fonts/Roboto_Italic.woff2) format("woff2 supports variations"),
url(https://example.de/fonts/Roboto_Italic.woff2) format("woff2-variations");
}font-family: sans-serif; }
body { , h2, h3 { font-family: "Roboto";}
h1font-weight: 800;}
h1 {font-style: italic;} h2 {
<H1>Roboto in GROSS</H1>
<p>Und etwas Text</p>
<H2>Roboto in kursiv</H2>
<p>Etwas Text</p>
<H3>Roboto in mittel</H3>
<p>Etwas Text</p>
<H4>Kein Roboto</H4>
<p>Der letzte Text</p>
Für den Bonus, dass die Datei, welche hauptsächlich benötigt wird,
bereits parallel zur HTML-Datei geladen wird. Ergänze im
head
-Bereich der HTML-Datei:
<link
rel="preload"
as="font"
crossorigin="anonymous"
href="https://example.de/fonts/Roboto.woff2"
type="font/woff2"
>
Natürlich wird diese Datei im Browsercache abgelegt und nicht jedesmal geladen.
EN: https://fonts.google.com/knowledge/using_variable_fonts_on_the_web↩︎
Die Dateiformate TTF und WOFF2 unterscheiden sich hauptsächlich in Bezug auf die Dateigröße. Die Logik ist identisch, es findet kein Qualitätsverlist statt.↩︎
Hinter den Beschränkungen steht vermutlich die Angst vor Lizenzproblemen und ggf. Downloadvolumina. Da (vermutlich?) alle Google-Fonts freie Lizenzen haben, trifft das hier nicht zu. Kläre deine Lizenzen sicherheitshalber selbst!↩︎