Sub-pixel rendering für LCD Bildschirme in GentooDonnerstag, 18 November, 2010 2:06

Gerade LCD Monitore lassen sich in der Darstellung von Schriften pimpen, siehe z. B. hier:

http://www.kev009.com/wp/2009/12/getting-beautiful-fonts-in-gentoo-linux/ 

Mittels zusätzlichem subpixel Rendering lassen sich Treppenstufen glätten, siehe

http://de.wikipedia.org/wiki/Subpixel-Rendering 

und das haben sich die großen Firmen wie Windows und Apple aber auch patentieren lassen und Linux hat eigentlich freetype für diese Aufgabe, aufgrund der Patentsituation aber eben nicht, siehe

http://david.freetype.org/cleartype-patents.html 

Eine patentfreie Version und wie das aussieht kann man sich hier ansehen:

http://www.oyhus.no/SubLCD.html 

und schliesslich hat mich das hierhin geführt:

http://forums.gentoo.org/viewtopic-p-6350322.html 

Das Gentoo overlay lcd-filtering implementiert die patches von infinity und macht selber patchen überflüssig.

Nachdem das lcd-filtering overlay implementiert ist, müssen nur noch die use flags für die Pakete ergänzt werden, dazu kann global in der /etc/make.conf die USE Variable um folgende Einträge ergänzt werden:" lcdfilter -cleartype" oder auch gezielt in der Datei

/etc/portage/package.use

x11-libs/cairo lcdfilter -cleartype
media-libs/fontconfig lcdfilter -cleartype
x11-libs/libxft lcdfilter -cleartype
media-libs/freetype lcdfilter -cleartype

Im Anschluss kann dann emerge -NaDuv world ausgeführt werden um die neuen use flags einzukompilieren. Wenn die obigen Pakete nicht in der update Auswahl sind, dann liegt das daran, dass ACCEPT_KEYWORDS in der /etc/make.conf nicht die KEYWORDS der lcd-filter ebuild "treffen". Sie können in der Datei /etc/portage/package.keywords nachgetragen werden:

/etc/portage/package.keywords:

x11-libs/cairo
media-libs/fontconfig
x11-libs/libxft
media-libs/freetype

Wenn das nicht hilft, ist /etc/make.conf bezüglich layman Einträgen fehlerhaft.

Ausserdem muss hier folgendes ergänzt werden:

~/.Xresources:

Xft.autohint: 0
Xft.lcdfilter:  lcddefault
Xft.hintstyle:  hintfull
Xft.hinting: 1
Xft.antialias: 1
Xft.dpi: 96
Xft.rgba: rgb

Die Xft.dpi: 96 resultieren vermutlich hierdurch:

~ $ xdpyinfo | grep -B1 dot 
  dimensions:    1024x768 pixels (270x203 millimeters)
  resolution:    96x96 dots per inch

und müssen ggfs. angepasst werden.

Ausserdem kann/sollte? die infinity ~/.font.conf für user oder als /etc/local.conf systemweit verwendet werden:

http://www.infinality.net/files/local.conf 

Es werden dann allerdings Windows, Apple und Google fonts gebraucht.

Ich verwende diese patentierten Schriften nicht, dafür aber die ~/.font.conf von dem Artikel ganz oben und bin damit auch sehr zufrieden. Die Schriftendarstellung auf meinem Monitor hat sich erheblich verbessert und ich kann das wirklich weiter empfehlen.

Categories: Linux

[ [0] Kommentare ]