Ob @font-face oder Cufón – bei mir entscheidet Windows
[An dieser Stelle würden Sie einen Facebook-„Gefällt mir“-Button sehen – wenn Deutschland nicht das Land der ausufernden Datenschutz-Paranioia wäre.]
Webfonts, die man per @font-face-Regel direkt in das Stylesheet einbinden und dann überall auf der Website verwenden kann, sind toll. Mittlerweile kommen auch alle großen Browser damit klar. Doch immer wieder stören Berichte über unschöne Darstellungsprobleme die Webfont-Idylle. Schuld sind die unterschiedlichen Schriftglättungsverfahren der verschiedenen Betriebssysteme. Besonders Windows Cleartype macht seinem Namen oft keine Ehre. Also doch kein @font-face und zurück zu Cufón? Jein. Es kommt auf die Schriftart an.
Testen, testen, testen
Einen ausführlichen Test der Rendering-Ergebnisse von @font-face-Einbettung, Typekit und Cufón in einer Fülle von Browser-Betriebssystem-Kombinationen hat David Sutoyo in seinem Blog veröffentlicht. Der Test zeigt, dass unter Windows nur Cufón eine wirklich zuverlässig geglättete Schriftdarstellung garantiert.
Die teilweise sehr ausgefranst aussehende Schriftglättung von Windows Cleartype ist ein bekanntes Ärgernis. Gerade bei Überschriften in größeren Schriftgrößen sieht unter Windows die betagte Standard-Schriftglättung, die noch nicht mit Subpixeln arbeitet, deutlich besser aus als die Cleartype-„Glättung“.
Beim Durchstöbern der Typekit-Fonts fiel mir jedoch auf, dass keineswegs alle dort vertretenen Schriftarten von Windows Cleartype verunstaltet werden. Also habe ich mit verschiedenen Schriftarten und der Hauptüberschrift meiner Startseite ein wenig herumgespielt. Durch die orange Textfarbe fällt der Ausfrans-Effekt zwar nicht ganz so stark auf. Trotzdem ist er oft sichtbar, wie beispielsweise bei der „Museo“:

Schrift-Rendering-Beispiel: Museo (von Typekit) unter Windows XP mit Cleartype
Die „Adelle“ dagegen sieht auch mit Windows Cleartype schön glatt aus, wenn auch ein klein wenig verwaschen:

Schrift-Rendering-Beispiel: Adelle (von Typekit) unter Windows XP mit Cleartype
Deswegen habe ich für meine Projekte beschlossen, die Entscheidung über @font-face bzw. Typekit oder Cufón meinem betagten Windows XP zu überlassen. Wenn die gewählte Schriftart (Verfügbarkeit und Lizenz vorausgesetzt) mithilfe der @font-face-Einbettung annehmbare Ergebnisse liefert, bin ich glücklich. Ansonsten muss ich eben auf Cufón ausweichen. Das ist dann zwar nicht ganz so komfortabel, zukunftsweisend und cool. Aber dafür sieht es ordentlich aus. Zwar hat Cufón auch so seine Tücken (gerade was Links und Unterstreichungen angeht). Doch für Überschriften reicht es in der Regel.
Und was ist mit Fließtext?
An Webfonts für den kompletten Fließtext habe ich mich in Kundenprojekten noch nicht herangetraut. Denn noch bei zu vielen Schriftarten sieht das Ergebnis bei der @font-face-Einbettung nicht akzeptabel aus, wie beispielsweise bei der „Tillium Text“, die in kleineren Schriftgrößen (hier 15 Pixel) deutliche „Kleckse“ aufweist:

Schrift-Rendering-Beispiel: Titillium Text unter Windows XP mit Cleartype
Und Cufón ist für umfangreiche Fließtexte natürlich ohnehin keine Lösung. Hier auf meiner eigenen Website habe ich gestern Nacht den Schritt zur kompletten „Ver-Webfont-ung“ gewagt. Nach langem Suchen habe ich mit der „PT Sans“ auch eine passende Schriftfamilie gefunden, die sowohl für die Überschriften als auch für den Fließtext ordentliche Ergebnisse liefert:

Schrift-Rendering-Beispiel: PT Sans unter Windows XP mit Cleartype
Über die schöne, aber im heutigen Lesegebraucht eher ungewöhnliche Ligatur-Variante für das scharfe s stolpere ich zwar bei jedem Lesen aufs Neue. Aber das ist auch der einzige Nachteil, der mir bisher aufgefallen ist.
Ein Vergleich der verschiedenen Schriftglättungsoptionen unter Windows XP zeigt allerdings auch hier wieder, dass eigentlich eine Kombination aus Cleartype für den Fließtext und Standardglättung für die Überschriften am saubersten aussähe. Wer noch mit uralten Windows-XP-Einstellungen unterwegs ist und dadurch überhaupt nicht in den Genuss irgendeiner Schriftglättung kommt, schaut zwar in die Röhre (siehe Bild), aber damit kann ich leben.

Schrift-Rendering-Vergleich: PT Sans unter Windows XP, links mit Cleartype, in der Mitte mit der alten Standardglättung und rechts ganz ohne Schriftglättung
Hier noch ein Tipp für alle, die die „PT Sans“ ebenfalls für Fließtexte einsetzen wollen: Beim fetten Schnitt sumpfen manche Buchstaben in bestimmten Schriftgrößen extrem zu, so z. B. das „e“ bei einer Größe von 15 Pixel. Deswegen verwende ich für alle fetten Passagen grundsätzlich die breitere „PT Sans Caption Bold“:
@font-face {
font-family: 'PT Sans';
src: url('fonts/PT_Sans-webfont.eot');
src: local('☺'), url('fonts/PT_Sans-webfont.woff') format('woff'), url('fonts/PT_Sans-webfont.ttf') format('truetype'), url('fonts/PT_Sans-webfont.svg#webfont') format('svg');
font-weight: normal;
font-style: normal;
}
/* [...] */
@font-face {
font-family: 'PT Sans Caption';
src: url('fonts/PT_Sans_Caption_Bold-webfont.eot');
src: local('☺'), url('fonts/PT_Sans_Caption_Bold-webfont.woff') format('woff'), url('fonts/PT_Sans_Caption_Bold-webfont.ttf') format('truetype'), url('fonts/PT_Sans_Caption_Bold-webfont.svg#webfont') format('svg');
font-weight: bold;
font-style: normal;
}
/* [...] */
body {
font-family: 'PT Sans', Tahoma, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #222;
}
strong, b {
font-family: 'PT Sans Caption', Tahoma, Arial, Helvetica, sans-serif;
font-weight: bold;
}
19. Mai 2010 · Thema: Webdesign · 8 Kommentare

Kommentar Nr. 1 · Saturday, 5. June 2010, 13:43 Uhr
Sehr informativer Artikel, danke dafür. Ich bin noch etwas unentschlossen, was die Verwendung von Fettschrift betrifft. Wenn ich für Fettschriften eine eigene Schriftart festlege, wird 'font-weight:bold' überflüssig oder übersehe ich da was?
PT_Sans wird zukünftig erste Wahl für meine Fließtexte werden, trotz des eigenwilligen 'ß'. Für Überschriften habe ich YanoneKaffeesatz im Blick. Offenbar sind beide Schriftarten als Webfonts frei verwendbar.

ralph
Kommentar Nr. 2 · Saturday, 5. June 2010, 15:03 Uhr
Was mich gegenwärtig noch von der Verwendung von webfonts abhält, ist die Verzögerung beim Laden. Bis die Datei vollständig beim Benutzer ist, wird ein Fall-Back-Font angezeigt. Das ist hier mit DSL6000 sichtbar und wird bei noch langsameren Verbindungen wahrscheinlich übel aussehen. Es müsste eine Möglichkeit geben, webfonts zu komprimieren.

Kommentar Nr. 3 · Saturday, 5. June 2010, 19:00 Uhr
@ralph: Das angesprochene Verhalten des Browsers beim Laden der Schrift ist von Browser zu Browser unterschiedlich. Der Firefox zeigt eine Fallback-Schrift an, während der Safari meines Wissens nach erst einmal gar keinen Text anzeigt, bis alle Schriften vollständig geladen sind. Mithilfe des Google WebFont Loaders kannst du dieses Browser-Verhalten jedoch ganz nach deinem Gusto beeinflussen. Mit dem Google WebFont Loader kann man nicht nur Fonts aus der Google-Bibliothek und von Typekit laden, sondern auch selbst gehostete Fonts. Wenn dich das Thema interessiert, empfehle ich dir die Lektüre des Artikels „Details on the new Google Webfont API“ von Paul Irish.
Was deine erste Frage betrifft, so kannst du zwei Sachen machen, um eine fette Schrift zu verwenden: Entweder du vergibst in der @font-face-Deklaration verschiedene Namen (z. B. „MeineSchrift“ und „MeineSchrift Fett“). In diesem Fall brauchst du weder im @font-face-Teil deines Stylesheets noch bei der Verwendung „font-weight:bold“ dazuschreiben. (Sinnvoll ist es im „Verwendungsteil“ dennoch, denn ansonsten werden die im Notfall als Ersatz angezeigten System-Schriftarten nicht fett dargestellt.)
Ein Beispiel hierzu:
@font-face { font-family: MeineSchrift; [… URLs zu Schriftdateien für die Standard-Schriftstärke …] }
@font-face { font-family: 'MeineSchrift fett'; [… URLs zu Schriftdateien des fetten Schchnitts …] }
.StyleMitFettschrift {font-family: 'MeineSchrift fett', [… Alternativschriften …];}
Oder du verwendest im @font-face-Teil für beide Schriften den selben Namen, schreibst aber bei der fetten Variante „font-weight:bold“ dazu und kannst diesen fetten Schriftschnitt dann ebenfalls mit „font-weight:bold“ ansprechen, so wie bei allen anderen Schriften auch.
Beispiel 2:
@font-face { font-family: MeineSchrift; [… URLs zu Schriftdateien für die Standard-Schriftstärke …] }
@font-face { font-family: 'MeineSchrift'; [… URLs zu Schriftdateien des fetten Schchnitts …]; font-weight: bold; }
.StyleMitFettschrift {font-family: 'MeineSchrift', [… Alternativschriften …]; font-weight: bold;}
Selbiges gilt natürlich für die Kursiv-Varianten. Ich persönlich bevorzuge die zweite Variante, weil ich dann mit dem Webfont im CSS genau so arbeiten kann wie mit einer Systemschrift. Bei Arial, Verdana und Co. sprichst du die fette oder kursive Variante ja auch mit „font-weight“ bzw. „font-style“ an und nicht über einen anderen Schriftnamen in der „font-family“-Liste.
Achtung: Wenn in einer sehr gut ausgebauten Schriftfamilie mehr als nur zwei Schriftstärken vorhanden sind, und du auf deiner Website auch mehr als nur zwei Schriftstärken verwenden willst, musst du bei „font-weight“ die numerischen Werte verwenden, weil du in diesem Fall mehr als nur zwei Optionen (normal und fett) hast.
Und zur Frage der Komprimierung: Die Webfonts im WOFF-Format (derzeit nur vom Firefox 3.6 unterstützt) sind ohnehin bereits komprimiert. Der Rest läuft bei mir wie auch alle anderen Dateien (außer natürlich Bilder) durch die gzip-Komprimierung (mod_deflate), die ich in der .htaccess-Datei eingestellt habe. Damit bekommt man auch die Nicht-WOFF-Formate schön klein. Sehr ausführliche Tests zu gzip und Webfonts hat Stoyan Stefanov gemacht.

ralph
Kommentar Nr. 4 · Monday, 7. June 2010, 13:47 Uhr
Vielen Dank für die Hilfe und die weiterführenden Links. Ich habe mich vorerst für eigenes Hosting entschieden, weil ich erstmal abwarten will, wie die Datenschützer auf den Google-Dienst reagieren. Im Übrigen komme ich mit ttf und eot aus. Funktioniert prächtig mit allen üblichen Browsern. Danke nochmals.

Kommentar Nr. 5 · Friday, 3. September 2010, 17:32 Uhr
Kleine Ergänzung: Das Beispiel 2 aus meinem obigen Kommentar Nr. 3 sollte man zurzeit besser nicht verwenden. Die Definition verschiedener Schriftschnitte, die alle denselben font-family-Namen haben, bringt Safari auf dem iPad leider zum Absturz. Zurzeit ist es also sicherer, wenn auch nicht unbedingt elegant, für jeden Schriftschnitt einen individuellen Namen zu vergeben, so wie im ersten Beispiel in Kommentar 3.

Jako
Kommentar Nr. 6 · Sunday, 12. December 2010, 21:53 Uhr
Vielen Dank für die Infos. Die PT Sans hat (mittlerweile?) auch eine stolpersteinlose 'SZ' Ligatur. Zumindest zeigt das Charakter Set im Google font directory eine lesbare Version des Zeichens an.

Bastian Larsen
Kommentar Nr. 7 · Wednesday, 20. April 2011, 17:45 Uhr
Ich habe ein eigenartiges Problem mit Safari und der Droid serif. Diese wird mir immer im fetten Schnitt angezeigt, nur im Safari. In den anderen Browsern wird wie gewünscht die regular angezeigt. Leider ist die Seite noch nicht online.

hesi
Kommentar Nr. 8 · Monday, 29. August 2011, 13:20 Uhr
Hier ist noch eine interessante Testdarstellung wie sich Cufon, @font-face und Typekit in den verschiedenen Browsern und Systemen verhält.
http://helloschema.com/code/testing-cufon-font-face-and-typekit