[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Fontprobleme X



Thomas Gies <thomas.gies@web.de> schrieb:


>> (7. optional noch /etc/XftConfig und fontconfig konfigurieren, falls
>> man
>>    noch Antialiasing will.)
> 
> Da genau weiss ich noch nix mit anzufangen. Ich habe da noch so ein
> bisschen nachholbedarf. Aber im Grunde lege ich auf AA auch gar nicht
> so grossen Wert.

Xft implementiert die native X Methode, antialiaste Fonts zu nutzen.
Damit das auch mit den neu über defoma installierten TTF Fonts
funktioniert, muß man in /etc/X11/XftConfig auch noch den Fontpath
ergänzen:

dir "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"

Falls man ein TFT Display verwendet, kann man Subpixel Hinting in
verschiedenen Varianten dort einschalten:

# sub-pixel hinting looks better on TFT
# depending on the sort of display, the last word may need to be changed
# from "rgb" to "bgr", "vrgb" or "vbgr"
#
match edit rgba=rgb;

Und man kann noch ein paar Extras einstellen, deren Sinnhaftigkeit man
allerdings selber ausprobieren sollte - das ist Geschmackssache:

# There's no need for fonts to be anti-aliased at "normal' sizes,
# they cause eyestrain and don't really enhance the fonts. Tell Xft
# not to anti-alias fonts between 8pt and 14pt sizes.

match
  any size > 8
  any size < 14
edit
  antialias = false;

# Same again, but enforced for KDE (specifically Konqueror/KHTML)
match
  any pixelsize > 8
  any pixelsize < 14
edit
  antialias = false;

> Was ich mich wohl Frage ist, ob es eine einfache Antwort gibt, wie
> Mozilla an die MS Fonts gekommen ist, ohne dass X etwas davon wussten.

Mozilla kann auf verschiedene Arten mit Fonts umgehen. Zum einen kann es
direkt per libfreetype sich vollkommen selbständig um alle Fonts kümmern,
falls man das in /etc/mozilla/prefs.js entsprechend freischaltet, wobei
man dann dort auch alle neuen Fontpfade konfigurieren muß oder es benutzt
den traditionellen Weg und befragt X.
Wenn man mozilla-xft installiert, wird als dritte Möglichkeit Xft
benutzt.
Falls Du z.B. mozilla-xft installiert hattest und /etc/XftConfig bereits
der Pfad zu den TTFs drinstand, wäre das einen mögliche Erklärung, warum
die Fonts unter Mozilla funktionierten, aber über den traditionellen Weg
(->xlsfonts) nicht.

 
> Ich habe gelesen, dass die XftConfig vom Mozilla in der Standardeinstellung
> nicht beachtet wird. Wie kann man denn den Weg eines Fonts zur Anwendung
> skizzieren, wenn freetype verwendet wird und wenn nicht.

Freetype findet sowohl beim traditionellen Fontzugriff bei X Verwendung,
als auch beim Weg über Xft. Die Frage ist nur, wie eine Anwendung einen
Font anfordert. Entweder traditionell über XLFD (X logical font
description) dann wird ein TTF kaum anders behandelt als Fonts bisher,
also wie ein Type1 oder Bitmapfont, nur daß halt X zum Laden selber
libfreetype verwendet.
Oder eine Anwendung verwendet Xft (das ist eine relativ neue X
Extension) und damit funktioniert dann z.B. auch Antialiasing. Wenn Du
so willst, implementiert das vereinfacht ausgedrückt ein neueres Protokoll
um Schriftglyphen zu transportieren.
Diverse Zwischenschichten sind auch noch möglich, etwa pango oder
fontconfig, die man noch zwischen Anwendung und X/Xft legen kann.

> Das mit defoma find ich echt schon mal ne nette Sache. Da braucht man
> sich nicht mit jeder einzelnen Anwendung herumzuschlagen.

Es fehlen leider noch endusertaugliche Frontends. Wenn man selber
Schriften mit defoma-Unterstützung integrieren will, wird das zum extrem
üblen Krampf und tut richtig weh. Ansonsten ist es allerdings von der
Funktionalität meilenweit voraus und IMHO ein sehr gelungener Wurf.
Andere Distributionen können da nicht ansatzweise mithalten.
Da darf man dann alle neue Fonts z.B. auch immer noch per Hand Ghostscript
beibringen, wenn wenn sie auch mal ausdrucken möchte.
OpenOffice ist auch noch so ein Problemfall, weil das ebenfalls alle
Schriften komplett selbst managed. Man darf dann immer die
Fontverwaltung von OO anwerfen und ihm alles separat beibringen.
Unter Debian wird das dankenswerterweise auch von defoma erschlagen und
OO kennt automatisch alle Schriften, die defoma kennt.

> Aber was müsste ich machen, um immer und überall antialising
> hinzubekommen?

1. Xft passend konfigurieren, da das der Standard ist, auf den die
   meisten Anwendungen und Widgetsets aufsetzen - also vor allem
   evtl. nötige Fontpathanpassungen vornehmen.

2. Fontconfig konfigurieren, da das dank Puschen von RedHat auch recht
   verbreitet Verwendung findet. Das geht mit 'dpkg-reconfigure -plow
   fontconfig' (vorher falls nötig fontconfig noch installieren)

3. ein paar Besonderheiten umschiffen: mozilla-xft installieren, damit
   Mozilla Xft verwendet; gtk1.2 benutzt Xft erst, wenn die
   Umgebungsvariable 'GDK_USE_XFT=1' gesetzt ist - gtk2 benutzt es
   defaultmäßig; was bei KDE/qt nötig ist, davon habe ich keine Ahnung,
   da ich es nicht nutze

4. überall wirst Du es (noch) nicht hinbekommen, da noch nicht alle
   Anwendungen/Widgetsets auf Xft zugreifen können. Da haben die neueren
   Widgetsets wie gtk und qt noch Vorsprung - Athena, Motif und andere
   hinken da z.B. noch hinterher.


Gruß,

Marcus

-- 
   If Bill Gates had a dime for every time a Windows box crashed...
                ...Oh, wait a minute, he already does.
eMail: m@followup-to.de



Reply to: