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

Aus wiki.archlinux.de
(Markierung "Unvollständig" entfernt... sollte jedenfalls für die meisten ausreichen :))
KKeine Bearbeitungszusammenfassung
 
(35 dazwischenliegende Versionen von 11 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{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.
Zeile 9: Zeile 8:


===Pakete installieren===
===Pakete installieren===
Um eine bessere und klarere Schrift auf TFT/LCD Bildschirmen zu bekommen, sollte man die Pakete '''cairo-lcd''', '''libxft-lcd''' und '''fontconfig-lcd''' 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].


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


'''libxft-lcd''' ist in  [community] und kann auch mit [[pacman]] installiert werden, wenn [community] in der pacman.conf aktiviert ist.
'''fontconfig-lcd''' lässt sich genau wie das libxft-lcd Paket aus dem AUR installieren.


'''fontconfig-lcd''' lässt sich genau wie das gepatchte cairo 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]].
 
====Cairo entfernen====
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.
pacman -Rd cairo


===Filter ändern===
===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 normalen '''cairo''' Pakets (''lcdlegacy'') einstellen.  
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.
Dafür muss nur eine Zeile in der Datei ''/etc/fonts/conf.avail/10-lcd-filter.conf'' geändert werden.
Zeile 39: Zeile 32:
*lcdlegacy: Standardfilter des ungepatchten cairo Pakets
*lcdlegacy: Standardfilter des ungepatchten cairo Pakets
  <const>lcdlegacy</const>
  <const>lcdlegacy</const>
==Empfohlene Schriftarten==
Einige empfehlenswerte [[Schriftarten]] lassen sich leicht mit pacman nachinstallieren.
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.
pacman -Rns xorg-fonts-75dpi xorg-fonts-100dpi
==FreeType Autohinter aktivieren==
Der Autohinter kann mit diesem Befehl als root aktiviert werden.
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 65: 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]
 
*[http://wiki.archlinux.org/index.php/Fonts#FAQ OpenOffice-Schriftdarstellung verbessern ]
<?xml version="1.0"?>
*[http://www.spasche.net/files/lcdfiltering/ LCD-Filter: Einstellungen im Überblick]
<!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==
*[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}}


[[Kategorie:X11]]
[[Kategorie:X11]]
[[Kategorie:Konfiguration]]
[[Kategorie:Konfiguration]]
[[en:Font_configuration]]

Aktuelle Version vom 13. Januar 2021, 11:45 Uhr

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

fontconfig-lcd lässt sich genau wie das libxft-lcd Paket aus dem AUR 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