Linux-Problem mit Fonts
Ich hatte gerade etwas zu einem Linux-Problem mit TTF-Fonts geschrieben. Ich bin etwas weiter gekommen.
Ich habe heute noch einiges debuggt und einige Fonts etwas auseinandergenommen, und komme dem Problem näher.
Also:
in /etc/fonts/conf.d stehen Konfigurationsdateien, die für jeden Font abgearbeitet werden (sind als XML halbwegs lesbar und verständlich, aber eine Doku habe ich noch nicht dazu gefunden, muss ich noch suchen).
Dazu gibt es /etc/fonts/conf.d/90-synthetic.conf , die beschreibt, dass zu dem Font, der kein italic und kein bold hat, die jeweiligen Fonts dazusynthetisiert werden.
Synthese heißt in diesem Fall, dass die schrägen Fonts (italic/slanted) über eine einfache Matrix-Transformation so gestellt werden, dass sie eben schräg sind. Und fett heißt, dass sie den Font wohl quasi mit einem dicken Stift umrunden. Bei manchen Fonts merkt man das nicht, da sieht das normal aus, bei anderen aber blöd. Insbesondere das Kerning passt dann nicht.
Generell finde ich diese Syntethisierung sehr schlecht. Wenn der Font nicht vollständig in vier Schnitten ist, dann ist er es eben nicht und dann benutzt man einen anderen, nicht solche Krücken. Mich stört vor allem, dass man in der Font-Auswahl dann nicht mehr sieht, ob sowas echt oder synthetisiert ist.
Und dummerweise hatte ich hier halt einen Font, bei dem die Subfamily schon ‘Bold’ heißt, und die Synthese noch eine fette(re) Version erzeugt, die auch ‘Bold’ heißt. Und das geht halt schief.
Geht mir auch ziemlich auf den Wecker, dass die einen nach dem Motto viel hilft viel mit Unmengen von Fonts zuschmeißen und in der Ubuntu xfce-Installation Unmengen von hier nutzlosen Fonts (indisch, Burma, chinesisch, weiß der Kuckuck) in rauhen Mengen zuballern, und man dann in den Fontauswahlfeldern gar nichts vernünftiges mehr findet, weil alles irgendwo zwischen indischen, chinesischen und koreanischen Schriften absäuft. Anstatt das in die locale-Pakete für jedes Land reinzupacken, hauen sie den ganzen Schrott in die Grundeinstellungen, und synthetisieren dann noch Fonts (fehlerhaft) dazu. Schrecklich.
Dazu fällt mir auf, dass auch die Font-Hersteller teils ein Mordsgeld nehmen, aber zu doof sind, ihre Fonts logisch und konsistent zu benennen. Deshalb müssen die dann in /etc/fonts so viele Regeln reinpacken, um das auszubügeln. Ich habe versucht, da auch noch eine Regel für meinen Problemfonts einzufügen, damit die richtig benannt werden. Funktioniert aber nur bei einem Teil der Programme, andere zeigen weiterhin einen Schnitt zu wenig an.
Ich muss mal ausprobieren, ob und wieviel mir um die Ohren fliegt, wenn ich diese Synthetisierung abschalte.
Irgendwie alles vermurkst und broken by design.