Skip to content
 

Firefox unter Debian/Ubuntu vernünftige Schriften beibringen

Vor etwas längerer Zeit fragte ein Webdesigner im Forum von ubuntuusers.de nach Screenshots seiner Website, welche mit Linux-Browsern aufgerufen wurde. In einem anderen Thread wurde vom gleichen Webdesigner nachgefragt welche Schriftarten standardmäßig unter den diversen Linux-Distributionen installiert sind bzw. mit welchen man in Normalfall immer rechnen kann. Daraus entwickelte sich eine Diskussion über gutes Webdesign bzw. die Abhängigkeit eines Webdesigners von den vorhandenen Schriftarten.

Ich habe schon im Forum eine kurze Erklärung verfasst, warum manche Webseiten unter Linux sehr oft recht bescheiden ausschauen (Komische Schrift, zerrissenes Layout usw.) und wie man dieses Problem recht einfach beseitigen kann (Aus Nutzer -und aus Webdesignersicht)

Wie wählt mein Browser die Schriftarten aus?

Zuallererst möchte ich die Grundlagen, wie ein Browser unter Linux seine Schriftarten auswählt, erläutern. Jeder moderne Browser bietet in seinen Konfigurationsdialogen eine Möglichkeit an die Schriften, welche zum Darstellen der Webseiten benutzt werden sollen, auszuwählen. In den meisten Fällen beschränkt sich die Auswahl auf drei Möglichkeiten :

  • Serif
  • Sans Serif
  • Monospace

Ersteres sind Serifenschriften (z.B. Times New Roman oder DejaVu Serif), zweiteres Schriften ohne Serifen (z.B. Arial oder DejaVu Sans) und letzteres Schriften mit fester Breite (z.B. Courier New oder DejaVu Sans Mono). Zusätzlich lässt sich noch die Größe der Schriften und die Minimalgröße der Schriften festlegen (Beispiel Firefox, Opera bietet wesentlich tiefergehende Möglichkeiten zur Schrifteinstellung)

Warum zeigt mir der Browser dann trotz allem einige Seiten mit einer anderen Schrift an?

Hier kommt nun ein Element von HTML ins Spiel :

Wird im HTML-Code explizit eine bestimmte Schriftart vorgegeben (z.B. Verdana auf ubuntuusers.de oder Spiegel Online), übergeht der Browser die vorgegebenen Schriftarten und benutzt die im HTML-Code angegebenen. In der Regel sieht das dann so im Quellcode einer Seite aus (Auszug aus einer CSS-Datei von Spiegel Online) :

font-family: verdana, arial, helvetica, geneva, sans-serif;

Zuerst soll der Browser die Seite mit der Schriftart “Verdana” anzeigen. Falls diese nicht vorhanden ist, soll “Arial” benutzt werden, falls diese wiederum nicht vorhanden ist, wird  “Helvetica” versucht, dann “Geneva” und falls alle Stricke reißen soll die im Browser unter “sans-serif” vorgegebene Schriftart benutzt werden.

Warum sieht dann stellenweise die Schrift in meinen Browser immer noch so bescheiden aus?

Jetzt könnte man als Benutzer meinen das alles in Butter ist. In der Regel hat man ja auch unter Linux die Windows-Schriftarten “Verdana” und “Arial” installiert (z.B. durch das Paket “msttcorefonts” bzw. “ttf-mscorefonts-installer”). Leider ist das nicht immer der Fall. So ist z.B. in der Grundinstallation der meisten Distributionen aus Lizenz-technischen Gründen dieses Paket nicht enthalten. Normalerweise wäre auch das kein Problem, da der Browser im Zweifelsfall einfach die unter “sans-serif” angegebene Schriftart benutzt, da in der Auswahl der Schriften im Browser kein Helvetica auftaucht, diese also nicht vorhanden ist.

Jedoch besitzen moderne Linux-Distributionen ein Schrift-Konfigurationssystem namens “Fontconfig”, welches dafür sorgt das das System auch bei  nicht vorhandenen Schriftarten eine (mehr oder weniger) fehlerfreie Ausgabe auf dem Bildschirm liefert. Dieses lässt sich sehr flexibel auf die eigenen Bedürfnisse anpassen, hat in der Grundkonfiguration aber eine, gelinde gesagt, hirnrissige Einstellung, welche für die schlechte Darstellung der Schriften sorgt :

Findet der Browser, um auf das obige Beispiel zurückzukommen, weder die Schriftart “Verdana” noch “Arial”, benutzt dieser die in Fontconfig vorgebene Alternative für die Schriftart “Helvetica”. Und das ist im Normalfall die Postscript-Schriftart “Nimbus Sans”. Und da die Schriftart “Helvetica” somit vorhanden ist, gibt es auch kein Ausweichen auf “sans-serif”. Und gerade diese Schriftart ist nicht gerade für ihr gutes Aussehen auf Bildschirmen bekannt und sorgt immer wieder für Beschwerden im Stil von “Warum sieht die Schrift unter Firefox stellenweise so bescheiden aus!”.

Besonders blöd wird die Situation, wenn der Webdesigner explizit die Schriftart “Helvetica” ganz an den Anfang der Liste im Tag “font-family” setzt (z.B. auf der Webseite von Canonical). Dann hilft auch nämlich auch kein Installieren von “Arial” oder “Verdana” mehr, der Browser benutzt immer die Schriftart “Nimbus Sans” als Ersatz für das nicht vorhandene “Helvetica”. Die meisten Benutzer greifen dann einfach zur Radikalmethode und verbieten dem Browser per Konfigurationsoption das Benutzen aller anderen Schriftarten. Doch es geht auch eleganter.

Fontconfig die “Nimbus”-Schriftart abgewöhnen

Um Fontconfig, Firefox und allen anderen Anwendungen das Ersetzen der Schriftart “Helvetica” gegen “Nimbus Sans” abzugewöhnen ohne die Schriften löschen zu müssen oder den Browser umzukonfigurieren, gibt es eine ganz einfache Methode :

Man löscht einfach alle Vorkommen von “Nimbus” in den Dateien unter “/etc/fonts/conf.avail”. Unter Ubuntu kommt dieser Name nur in drei Dateien vor (Bei anderen Distributionen dürften die Dateinamen und Vorkommen identisch sein):

  • 30-metric-aliases.conf
  • 45-latin.conf
  • 60-latin.conf

Um die Sache etwas zu vereinfachen, biete ich die geänderten Dateien zum Download an :

Fontconfig-Dateien ohne Nimbus-Schriften

Die im TAR-Archiv enthaltenen Dateien müssen einfach nur nach “/etc/fonts/conf.d” entpackt werden. Vorher sollte man aber auf alle Fälle die Originaldateien sichern um bei Nichtgefallen bzw. Problemen die Änderungen schnell wieder rückgängig machen zu können.

Startet man jetzt den Browser neu bzw. loggt sich neu ein, wird die Schriftart “Nimbus Sans” nicht mehr als Ersatz für den Schrifttyp “sans-serif” verwendet, sondern eine der Schriftarten aus der Liste “DejaVu Sans”, “Liberation Sans” oder”Arial” (Bzw. eine andere Ersatzschriftart aus den, in den Fontconfig-Dateien gelisteten Schriftarten).

Somit benutzen Firefox und andere Browser endlich vernünftige Bildschirmschriften und man muss sich als Benutzer nicht mehr mit einem schlechten Schriftbild rumärgern.

7 Kommentare

  1. onli sagt:

    Das Ergebnis bei der Aktion ist nicht gerade positiv. Canonicals Seite sah vorher ok aus, nun ist die Schrift ziemlich verwaschen. Gut, dass du auf das Backup extra hingewiesen hast.

    Trotzdem ist das eine gute Erklärung des Schriftensystems. Nur ein Link zum Thread, den vermisse ich.
    Gruß

  2. glasen77 sagt:

    Es kommt darauf an was du mit verwaschen meinst. Jeder Benutzer hat seine eigene Vorstellung davon, welche Darstellung der Schriften auf dem Bildschirm optimal sind.
    Zu den unterschiedlichen Rendermöglichkeiten des Schriftsystems habe ich auch noch einen Artikel in der Pipeline. Ich muss diesen nur noch fertigstellen. Dort wird dann übersichtlich dargestellt welche Einstellung in Fontconfig welche Auswirkung auf das Schriftbild hat.

    P.S.:

    Die Links zu den Threads habe ich eingefügt.

  3. onli sagt:

    Es war hier aber wirklich so verwaschend und wirkte dadurch so unruhig, dass die andere Konfiguration nicht bleiben konnte. Andererseits hast du recht, bei einem anderen Benutzer mit anderen Erwartungen und anderem Monitor wäre es vielleicht gegangen.

    Ich bin auf den Folgeartikel gespannt.
    Gruß

  4. longrange sagt:

    Herzlichen Dank,
    Webseiten wie http://www.teltarif.de oder http://www.geoclub.de sehen jetzt auch unter Linux sehr gut aus.

    Danke nochmals, darauf habe ich lange gewartet.

    MfG longrange

  5. Testwiese sagt:

    Vielen lieben dank für diesen Tip. Bin durch zufall darauf gestossen und jetzt mehr als glücklich. Danke…

  6. Woody sagt:

    Hab’s auch versucht unter Ubuntu 9.10/Karmic; die Änderungen hatten bei mir allerdings leider keinerlei Auswirkungen :-(

  7. glasen sagt:

    Seltsam. Das Entfernen der Nimbus-Schriften aus den Fontconfig-Dateien ist immer das Erste was ich nach einer Installation mache. Und bisher hat es immer geklappt.

    Hast du die MS-Schriften oder die “Liberation Fonts” installiert? Ohne eines dieser Schriftpakete funktioniert das Ersetzen nicht 100%.

Antworten