SuSE 10 0 und fontconfig

Aus Linupedia.org
Wechseln zu: Navigation, Suche
Vorsicht, obsoleter Artikel:

Artikel ist veraltet. SuSE 10.0 wird nicht mehr unterstützt.


Autor: panamajo

Es ist ja inzwischen schon ein running Gag: SUSE und TrueType Fonts *sigh

In den Releases < 9.2 war das Problem meist durch Neukompilation von freetype2 zu lösen, wobei man Subpixelhinting einschalten musste (der Patch war freundlicherweise im Source rpm enthalten).

Seit SUSE 9.2 ist der Patch zwar enthalten, wird aber in dem neuen Paket fontconfig für alle TT Schriften (ausser einer Handvoll) ausgeschaltet, mit folgender Begründung:
Zitat:
Fonts which have high quality byte code interpreter instructions can look very good in small sizes when rendered in black and white (antialias=false) using the byte code interpreter (autohint=false). The results look as good as high quality bitmap fonts.

On the other hand, most Fonts do not have good byte code interpreter instructions and look *very* ugly when rendered like this. I.e. for most fonts autohint=true and antialias=true gives best results.


Ich weiss ja nicht welche "most fonts" gemeint sind, aber mit der zuletzt genannten Einstellung sehen bei mir _alle_ TT Schriften gräßlich aus. Es werden schlichtweg Fehler beim Rendering gemacht, z.B. symmetrische Buchstaben wie O werden zu asymmetrischen Vielecken etc. Hochklassige Schriften wie Bitstreams Cyberbit (eine der wenigen Schriften die auch für CJK UTF-8 tauglich sind) sehen aus wie unter Nikotinentzug bei gleichzeitiger Coffeinüberdosierung hingekritzelt.
Ganz schlimm auch die Franklin Gothic Schriftfamilie (die zu unserem CID gehört und entsprechend in den Benutzerprofilen als Standardfont drinsteht).

Weiter SUSE:
Zitat:
For fonts which do have good byte code instructions, it seems to be a matter of taste. Most users apparently do not like the bitmaps no matter how good they are and prefer to render these fonts with anti-aliasing as well.


Dieser Irrglaube scheint der Grund zu sein weshalb bei jeder neuen SUSE hier das Gejammer los geht "Mein Bildschirm ist unscharf", "Hilfe ich erblinde" etc.

Nope, SUSE, it's not a matter of taste. And ppl do hate antialiasing at least for small fonts.

Geholfen hat bei mir das Editieren der Datei /etc/fonts/suse-hinting, wobei ich einfach 2 Einstellungen auskommentiert habe (fett markiert):

Damit stoppt man das Ignorieren und AA als Default:

<!--
            Using the autohinter and anti-aliasing.
            This is a good default for most fonts.
        -->
<!--
        <match target="font">
                <edit name="autohint">
                        <bool>true</bool>
                </edit>
                <edit name="antialias">
                        <bool>true</bool>
                </edit>
        </match>
-->


und weiter unten verhindert man dass Subpixelhinting nur auf die wenigen genannten Schriften angewendet wird:

<match target="font">
<!--
                <test name="family">
                        <string>Andale Mono</string>
                        <string>Arial</string>
                        <string>Comic Sans MS</string>
                        <string>Georgia</string>
                        <string>Impact</string>
                        <string>Trebuchet MS</string>
                        <string>Verdana</string>
                        <string>Courier New</string>
                        <string>Times New Roman</string>
                        <string>Tahoma</string>
                        <string>Webdings</string>
                        <string>Albany AMT</string>
                        <string>Thorndale AMT</string>
                        <string>Cumberland AMT</string>
                </test>
-->
                <test name="pixelsize" compare="less_eq">
                                <double>20</double>
                </test>
                <edit name="autohint">
                        <bool>false</bool>
                </edit>
                <edit name="antialias">
                        <bool>false</bool>
                </edit>
        </match>

... und siehe da, alles (nach dem Neustart der X Session)wieder wunderbar lesbar!

EDIT: ok, fett markieren innerhalb von Code ist nicht. Von mir hinzugefügt sind die "<!--" und "-->" Kommentarzeichen jwl. in der ersten Spalte.

Egal, wichtiger ist: die Einstellungen in /etc/fonts/suse-hinting.conf werden von SuSEconfig bei jedem Lauf neu generiert. Beeinflussen kann man dies nur beschränkt via /etc/sysconfig/font-config:

## Path:        Desktop
## Description: Display font configuration
## Type:        integer
## Default:     0
#
# Fonts which have high quality byte code interpreter instructions
#
# ... blabla (das Gesülze von wegen "die Welt ist schlecht und die Fonts auch wird nochmal wiederholt)
#
BYTECODE_BW_MAX_PIXEL="18"


Wirkt sich leider nur auf die Handvoll von SuSE für befundenen Fonts aus

Als Workaround kann man natürlich die Liste der bevorzugten Fonts in /usr/share/fonts-config/suse-hinting.conf.template löschen, dann läuft alles mit Bytecode Hinting.

Könnte mal jemand ein Screenshot vorher und nachher machen? Ich kann mir unter dem beschriebenen Problem irgendwie nichts vorstellen. Und obwohl ich OpenSUSE 10 mit den Standard-Einstellungen betreibe (lediglich bei KDE das Fontantialiasing mit Subpixel RGB) sehen die Schriften sehr gut aus. Wenn ich da mal Windows boote fühle mich in die Vergangenheit versetzt was das Glätten der Schriften angeht.

Von Tux Manni Noch eine Anmerkung zur Schrift:
Auch ich hab mich über diesen "Murks" von SuSE 10 geärgert. Nur mit bearbeiten der ...hinting.. Datei war es etwas besser, aber noch nicht so gut wie früher.
Unter Yast/ etc/sysconfig/Desktop kann man bei BYTECODE_BW_MAX_PIXEL den Wert auf 18 setzen (war 0). Dann erreicht man wieder das gewohnte Schriftbild.
Zumindest war es bei mir so.

Gruß Manni

zurück zum Windowmanager