Schönere Schrift auf TFT/LCD Bildschirmen: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Zur Navigation springen Zur Suche springen
("Pakete" in "LCD-Filter" geändert)
K (Verlinkung mit englischem Wiki)
 
(40 dazwischenliegende Versionen von 11 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{unvollständig}}
+
{{veraltet}}
 
[[Datei:archlinuxfirefox.png|thumb|Kantenglättung mit Subpixeln und geringem Hinting]]
 
[[Datei:archlinuxfirefox.png|thumb|Kantenglättung mit Subpixeln und geringem Hinting]]
Eine Arch Linux-Standardinstallation bietet zwar schon einige Schriftarten an, allerdings lässt sich deren Darstellung noch deutlich optimieren.
+
Die Verbesserungen durch den LCD-Filter werden in den meisten Fällen nur auf LCD-Monitoren sichtbar sein. CRTs haben im Gegensatz zu LCDs kein festes Pixelraster und sind deshalb in der Regel unschärfer. Diese Unschärfe kommt der gedruckten Schrift aber deutlich näher als die sehr scharfe und kontrastreiche Darstellung eines LCDs. Mit Subpixel-Rendering versucht man daher unter Berücksichtigung der Farbkomponenten einzelner Pixel harte Kanten zu glätten und so ein natürlicheres Schriftbild zu erzeugen. Bei geringen Auflösungen oder größeren Pixelabständen kann dies allerdings zu einem zu unscharf wirkenden Schriftbild führen.
 
 
Die Verbesserungen werden in den meisten Fällen nur auf LCD Monitoren sichtbar sein. CRTs haben im Gegensatz zu LCDs kein festes Pixelraster und sind deshalb in der Regel unschärfer. Diese Unschärfe kommt der gedruckten Schrift aber deutlich näher als die sehr scharfe und kontrastreiche Darstellung eines LCDs. Mit Subpixel-Rendering versucht man daher unter Berücksichtigung der Farb-Komponenten einzelner Pixel harte Kanten zu glätten und so ein natürlicheres Schriftbild zu erzeugen.
 
  
 
Hinting dagegen versucht die Schriftarten an Geräte mit geringer DPI anzupassen, damit die Schrift auch dann noch lesbar bleibt, wenn nicht genügend Pixel vorhanden sind, um sie exakt darzustellen. Je stärker das Hinting aber eingestellt wird, desto weiter entfernt sich das Ergebnis von der ungehinteten, technisch optimalen Darstellung. Starkes Hinting wird dennoch generell schärfer wahrgenommen als geringes.
 
Hinting dagegen versucht die Schriftarten an Geräte mit geringer DPI anzupassen, damit die Schrift auch dann noch lesbar bleibt, wenn nicht genügend Pixel vorhanden sind, um sie exakt darzustellen. Je stärker das Hinting aber eingestellt wird, desto weiter entfernt sich das Ergebnis von der ungehinteten, technisch optimalen Darstellung. Starkes Hinting wird dennoch generell schärfer wahrgenommen als geringes.
  
 
==LCD-Filter==
 
==LCD-Filter==
Um eine bessere und klarere Schrift auf TFT/LCD Bildschirmen zu bekommen, sollte man die Pakete '''cairo-lcd''' und '''libxft-lcd''' installieren.
 
  
'''cairo-lcd''' findet man im [[AUR]] und kann somit beispielsweise mit [[yaourt]] installiert werden.
+
===Pakete installieren===
 +
Um eine bessere und klarere Schrift auf TFT/LCD Bildschirmen zu erzielen, sollte man die Pakete '''libxft-lcd''' und '''fontconfig-lcd''' installieren. Für Qt 4.x Programme sind sie allerdings [http://labs.trolltech.com/blogs/2008/09/01/subpixel-antialiasing-on-x11/ nicht erforderlich].
 +
 
 +
'''libxft-lcd''' findet man im [[AUR]] und kann somit beispielsweise mit [[yaourt]] installiert werden.
 +
 
 +
'''fontconfig-lcd''' lässt sich genau wie das libxft-lcd Paket aus dem AUR mit yaourt installieren.
 +
 
 +
Anmerkung: '''libxft-lcd''' und '''fontconfig-lcd''' können durch die '''libxft-ubuntu''' und '''fontconfig-ubuntu''' ersetzt werden, zu finden in [[AUR]].
  
'''libxft-lcd''' ist in  [community] und kann auch mit [[pacman]] installiert werden, wenn [community] in der pacman.conf aktiviert ist.
+
===Filter ändern===
 +
Neben der Standardeinstellung (''lcddefault''), die grundsätzlich das beste Schriftbild liefert, lässt sich auch ein weniger aggressiver Filter (''lcdlight''), gar kein Filter (''lcdnone'') und der Filter des ungepatchten '''cairo''' Pakets (''lcdlegacy'') einstellen.  
  
===Cairo entfernen===
+
Dafür muss nur eine Zeile in der Datei ''/etc/fonts/conf.avail/10-lcd-filter.conf'' geändert werden.
Weil viele Pakete von '''cairo''' abhängig sind, sollte das Entfernen des alten Pakets und die Installation von '''cairo-lcd''' möglichst in einem Rutsch erfolgen. Einige Programme könnten sonst ihren Dienst verweigern.
 
  
Mit diesem Befehl lässt sich '''cairo''' trotz Abhängigkeiten entfernen.
+
*lcddefault: Standardfilter des gepatchten cairo Pakets
  pacman -Rd cairo
+
  <const>lcddefault</const>
  
==Empfohlene Schriftarten==
+
*lcdlight: Weniger aggressiver Filter
Einige empfehlenswerte [[Schriftarten]] lassen sich leicht mit pacman nachinstallieren.
+
  <const>lcdlight</const>
  pacman -S ttf-liberation ttf-bitstream-vera ttf-dejavu
 
  
Die X.org-Schriftarten werden oft im Browser als "Fallback" ohne Hinting oder Subpixel-Rendering bei einigen Webseiten eingesetzt. Für ein angenehmeres Schriftbild sollte man sie daher entfernen.
+
*lcdnone: Kein Filter
  pacman -Rns xorg-fonts-75dpi xorg-fonts-100dpi
+
  <const>lcdnone</const>
  
==FreeType Autohinter aktivieren==
+
*lcdlegacy: Standardfilter des ungepatchten cairo Pakets
Der Autohinter kann mit diesem Befehl als root aktiviert werden.
+
  <const>lcdlegacy</const>
  ln -s /etc/fonts/conf.avail/10-autohint.conf /etc/fonts/conf.d/10-autohint.conf
 
  
 
==Subpixel-Rendering/Hinting einstellen==
 
==Subpixel-Rendering/Hinting einstellen==
  
 
===KDE===
 
===KDE===
  Systemeinstellungen -> 'Erscheinungsbild' -> 'Schriftarten' -> Kantenglättung verwenden -> aktiviert -> Einrichten
+
  Systemeinstellungen -> 'Erscheinungsbild von Anwendungen' -> 'Schriftarten' -> Kantenglättung verwenden -> aktiviert -> Einrichten
Bei ''Sub-Pixel-Hinting'' sollte ein Häkchen stehen und ''RGB'' ausgwewählt werden. Die Anordnung der Farb-Komponenten kann je nach Monitor allerdings auch anders sein. Im Normalfall ist RGB aber die richtige Einstellung. Als Hinting-Stil liefern ''Gering'' oder auch ''Mittel'' gute Ergebnisse.
+
Bei ''Sub-Pixel-Hinting'' sollte ein Häkchen stehen und ''RGB'' ausgewählt werden. Die Anordnung der Farb-Komponenten kann je nach Monitor allerdings auch anders sein. Im Normalfall ist RGB aber die richtige Einstellung. Als Hinting-Stil liefert ''Gering'' gute Ergebnisse.
  
 
===GNOME===
 
===GNOME===
 
  System -> 'Einstellungen' -> 'Erscheinungsbild' -> 'Schriftarten' -> 'Details'
 
  System -> 'Einstellungen' -> 'Erscheinungsbild' -> 'Schriftarten' -> 'Details'
Als Kantenglättung sollte ''Subpixel'' und unter Hinting ''Gering'' oder ''Mittel'' eingestellt werden. Zusätzlich kann man unter "Reihenfolge der Subpixel" zwischen RGB, VRGB, BGR und VBGR wählen.  
+
Als Kantenglättung sollte ''Subpixel'' und unter Hinting ''Gering'' eingestellt werden. Zusätzlich kann man unter "Reihenfolge der Subpixel" zwischen RGB, VRGB, BGR und VBGR wählen.  
  
 
===XFCE===
 
===XFCE===
Zeile 45: Zeile 47:
 
Bei ''Kantenglättung verwenden'' ein Häkchen setzen. Die restlichen Optionen können genau so wie bei GNOME oder KDE eingestellt werden.
 
Bei ''Kantenglättung verwenden'' ein Häkchen setzen. Die restlichen Optionen können genau so wie bei GNOME oder KDE eingestellt werden.
  
==Links==
+
===Ohne GUI===
[http://www.easylinux.de/Artikel/ausgabe/2006/06/048-fonts/ EasyLinux: Schriftkundig]
+
Wer lediglich einen Windowmanager wie beispielsweise Openbox verwendet, sollte eine ~/.fonts.conf mit folgendem Inhalt anlegen:
  
[http://wiki.unixboard.de/index.php/FreeBSD_-_Bessere_Schriften Noch hinzufügen: Manuelles einstellen vo Sub-Pixel-Hinting/Antialaising]
+
<?xml version="1.0"?>
 +
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 +
<fontconfig>
 +
        <match target="font" >
 +
              <edit mode="assign" name="rgba" >
 +
                      <const>rgb</const>
 +
              </edit>
 +
        </match>
 +
        <match target="font" >
 +
              <edit mode="assign" name="hinting">
 +
                      <bool>true</bool>
 +
              </edit>
 +
        </match>
 +
        <match target="font" >
 +
                <edit mode="assign" name="hintstyle">
 +
                <const>hintslight</const>
 +
                </edit>
 +
        </match>
 +
</fontconfig>
  
[http://wiki.archlinux.org/index.php/Fonts#FAQ OpenOffice-Schriftdarstellung verbessern ]
+
==Weblinks==
 +
*[http://www.easylinux.de/Artikel/ausgabe/2006/06/048-fonts/ EasyLinux: Schriftkundig] {{sprache|de}}
 +
*[http://www.spasche.net/files/lcdfiltering/ LCD-Filter: Einstellungen im Überblick] {{sprache|en}}
  
[http://www.spasche.net/files/lcdfiltering/ LCD-Filter: Einstellungen im Überblick]
+
[[Kategorie:X11]]
 +
[[Kategorie:Konfiguration]]
  
[[Kategorie:X11]]
+
[[en:Font_configuration]]

Aktuelle Version vom 14. Oktober 2020, 05:56 Uhr

20040916-achtung.jpg Dieser Artikel wurde als veraltet markiert, und sollte kontrolliert, und gegebenfalls korrigiert bzw. aktualisiert werden.


Kantenglättung mit Subpixeln und geringem Hinting

Die Verbesserungen durch den LCD-Filter werden in den meisten Fällen nur auf LCD-Monitoren sichtbar sein. CRTs haben im Gegensatz zu LCDs kein festes Pixelraster und sind deshalb in der Regel unschärfer. Diese Unschärfe kommt der gedruckten Schrift aber deutlich näher als die sehr scharfe und kontrastreiche Darstellung eines LCDs. Mit Subpixel-Rendering versucht man daher unter Berücksichtigung der Farbkomponenten einzelner Pixel harte Kanten zu glätten und so ein natürlicheres Schriftbild zu erzeugen. Bei geringen Auflösungen oder größeren Pixelabständen kann dies allerdings zu einem zu unscharf wirkenden Schriftbild führen.

Hinting dagegen versucht die Schriftarten an Geräte mit geringer DPI anzupassen, damit die Schrift auch dann noch lesbar bleibt, wenn nicht genügend Pixel vorhanden sind, um sie exakt darzustellen. Je stärker das Hinting aber eingestellt wird, desto weiter entfernt sich das Ergebnis von der ungehinteten, technisch optimalen Darstellung. Starkes Hinting wird dennoch generell schärfer wahrgenommen als geringes.

LCD-Filter

Pakete installieren

Um eine bessere und klarere Schrift auf TFT/LCD Bildschirmen zu erzielen, sollte man die Pakete libxft-lcd und fontconfig-lcd installieren. Für Qt 4.x Programme sind sie allerdings nicht erforderlich.

libxft-lcd findet man im AUR und kann somit beispielsweise mit yaourt installiert werden.

fontconfig-lcd lässt sich genau wie das libxft-lcd Paket aus dem AUR mit yaourt installieren.

Anmerkung: libxft-lcd und fontconfig-lcd können durch die libxft-ubuntu und fontconfig-ubuntu ersetzt werden, zu finden in AUR.

Filter ändern

Neben der Standardeinstellung (lcddefault), die grundsätzlich das beste Schriftbild liefert, lässt sich auch ein weniger aggressiver Filter (lcdlight), gar kein Filter (lcdnone) und der Filter des ungepatchten cairo Pakets (lcdlegacy) einstellen.

Dafür muss nur eine Zeile in der Datei /etc/fonts/conf.avail/10-lcd-filter.conf geändert werden.

  • lcddefault: Standardfilter des gepatchten cairo Pakets
<const>lcddefault</const>
  • lcdlight: Weniger aggressiver Filter
<const>lcdlight</const>
  • lcdnone: Kein Filter
<const>lcdnone</const>
  • lcdlegacy: Standardfilter des ungepatchten cairo Pakets
<const>lcdlegacy</const>

Subpixel-Rendering/Hinting einstellen

KDE

Systemeinstellungen -> 'Erscheinungsbild von Anwendungen' -> 'Schriftarten' -> Kantenglättung verwenden -> aktiviert -> Einrichten

Bei Sub-Pixel-Hinting sollte ein Häkchen stehen und RGB ausgewählt werden. Die Anordnung der Farb-Komponenten kann je nach Monitor allerdings auch anders sein. Im Normalfall ist RGB aber die richtige Einstellung. Als Hinting-Stil liefert Gering gute Ergebnisse.

GNOME

System -> 'Einstellungen' -> 'Erscheinungsbild' -> 'Schriftarten' -> 'Details'

Als Kantenglättung sollte Subpixel und unter Hinting Gering eingestellt werden. Zusätzlich kann man unter "Reihenfolge der Subpixel" zwischen RGB, VRGB, BGR und VBGR wählen.

XFCE

Einstellungsverwaltung -> 'Erscheinungsbild' -> 'Schriften'

Bei Kantenglättung verwenden ein Häkchen setzen. Die restlichen Optionen können genau so wie bei GNOME oder KDE eingestellt werden.

Ohne GUI

Wer lediglich einen Windowmanager wie beispielsweise Openbox verwendet, sollte eine ~/.fonts.conf mit folgendem Inhalt anlegen:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
       <match target="font" >
              <edit mode="assign" name="rgba" >
                     <const>rgb</const>
              </edit>
       </match>
       <match target="font" >
              <edit mode="assign" name="hinting">
                     <bool>true</bool>
              </edit>
       </match>
       <match target="font" >
               <edit mode="assign" name="hintstyle">
               <const>hintslight</const>
               </edit>
       </match> 	
</fontconfig>

Weblinks