Keine TrueType Fonts unter Opera

quantumleeks

Anfänger
Hallo! Auf einem meiner Rechner und unter FreeBSD-6.1-RELEASE-p1-i386 stellt bei mir der Opera 8.54 nur grauenhafte Schriften mit Treppeneffekten dar. Die Fonts sehen auswie hingeschissen, so etwa wie alte PDF-Skripte, die mit Ghostsript 4 ohne TrueType-Font-Unterstützung in PDFs umgewandelt worden sind (ihr kennt mit Sicherheit solche PDFs, sehen unlesbar aus auf dem Bildschirm; druckt man sie aus, sind die Schriften wieder normal).

Hier ist meine xorg.conf:

Code:
Section "ServerLayout"
    Identifier  "Simple Layout"
    Screen "Screen 1"
    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
EndSection
Section "Module"
    Load        "freetype"
    Load        "type1"
    Load        "glx"
    Load        "xtt"
    Load        "speedo"
    Load        "dbe"
    SubSection  "extmod"
      Option    "omit xfree86-dga"
    EndSubSection
EndSection
Section "Files"
    RgbPath    "/usr/X11R6/lib/X11/rgb"
    FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
    FontPath   "/usr/X11R6/lib/X11/fonts/TTF/"
    FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"
    FontPath   "/usr/X11R6/lib/X11/fonts/CID/"
    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"
    FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"
    FontPath   "/usr/X11R6/lib/X11/fonts/local/"
    FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"
    FontPath   "/usr/X11R6/lib/X11/fonts/TrueType/"
    FontPath   "/usr/X11R6/lib/X11/fonts/freefont-ttf/"
    FontPath   "/usr/X11R6/lib/X11/fonts/freefont/"
    FontPath   "/usr/X11R6/lib/X11/fonts/mozilla/"
    FontPath   "/usr/X11R6/lib/X11/fonts/dejavu/"
    FontPath   "/usr/X11R6/lib/X11/fonts/mathfonts/"
    FontPath   "/usr/X11R6/lib/X11/fonts/urwfonts-ttf/"
    FontPath   "/usr/X11R6/lib/X11/fonts/artwiz-aleczapka-de/"
    FontPath   "/usr/X11R6/lib/X11/fonts/local/sgi/"
    ModulePath "/usr/X11R6/lib/modules"
EndSection
Section "ServerFlags"
    Option "DontVTSwitch" "true"
    Option "NoTrapSignals"
    Option "DontZap"
    Option "Dont Zoom"
    Option "DisableVidModeExtension"
    Option "DisableModInDev"
EndSection
Section "InputDevice"
    Identifier	"Keyboard1"
    Driver	"kbd"
    Option "AutoRepeat" "500 30"
    Option "XkbRules"	"xorg"
    Option "XkbModel"	"pc105"
    Option "XkbLayout"	"de"
    Option "XkbVariant" "nodeadkeys"
EndSection
Section "InputDevice"
    Identifier	"Mouse1"
    Driver	"mouse"
    Option "Protocol"    "Auto"
    Option "Device"      "/dev/sysmouse"
    Option "ZAxisMapping"   "4 5"
EndSection
Section "Monitor"
    Identifier  "NEC Packard Bell"
    HorizSync   31.5 - 48.5
    VertRefresh 50-70
EndSection
Section "Device"
    Identifier  "Intel Solana"
    Driver      "i810"
    VideoRam    4096
EndSection
Section "Screen"
    Identifier  "Screen 1"
    Device      "Intel Solana"
    Monitor     "NEC Packard Bell"
    DefaultDepth 24
    Subsection "Display"
        Depth       24
        Modes       "1024x768"
        ViewPort    0 0
    EndSubsection
EndSection
Alle in der xorg.conf aufgeführten Fonts werden von xlsfonts und von Opera gefunden, aber egal, welche Fonts ich in den Preferences von Opera auswähle, die Schriften haben immer Treppenstufen und sind nicht skalierbar.

Unter Arch Linux hatte ich auf dem gleichen Rechner keine Probleme. Ohne True-Type-Unterstützung ist für mich ein OS auf dem Desktop nicht akzeptabel.
 
Also ich hab in meiner X.Org config überhauptnix von TrueType-Fonts.

Kannst du mir mal 'ne beispiel Seite geben, wo die Schriften ausehen wie 'hingeschissen'?

Bin hier unter dem Opera unterwegs und hatte bis jetzt keine Probleme!

MfG hoppel
 
1.) Bitte poste einen Screenshot vom Opera im png-Grafikformat (kein JPEG!).

2.) Bitte kontrolliere all deine Konfigurationen und Schrifteninstallationen gemäss der Wiki-Anleitung:
http://wiki.bsdforen.de/index.php/FreeBSD_-_Bessere_Schriften

3.) Bitte melde die Ausgaben von:

Code:
# xdpyinfo |grep dots
# more /usr/X11R6/etc/fonts/local.conf
# pkg_info |grep font
more /var/log/Xorg.0.log |grep EE
more /var/log/Xorg.0.log |grep WW
 
Zuletzt bearbeitet:
xdpyinfo ergibt 86x84 dots per inch. Ist das okay so? Im WiKi steht was von 96x96 dots als erstrebenswertes Ziel nebst Anleitung, um dieses Ziel zu verwirklichen. Werde mich nachher mal an die Arbeit machen.

Eine Datei /usr/X11R6/etc/fonts/local.conf existiert auf meinem System nicht. Der Befehl pkg_info | grep fonts zeigt mir all jene Fonts an, die auch in meiner geposteten xorg.conf aufgeführt sind, bis auf diejenigen, für die ich weiter unten die Fehlermeldungen aufgeschrieben habe.

Die Befehle cat /var/log/Xorg.0.log |grep EE und cat /var/log/Xorg.0.log |grep WW ergeben

Code:
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(EE) Failed to load module "xtt" (module does not exist, 0)
(EE) Failed to load module "speedo" (module does not exist, 0)
(II) Loading extension MIT-SCREEN-SAVER
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(WW) The directory "/usr/X11R6/lib/X11/fonts/CID/" does not exist.
(WW) `fonts.dir' not found (or not valid) in "/usr/X11R6/lib/X11/fonts/local/".
(WW) The directory "/usr/X11R6/lib/X11/fonts/Speedo/" does not exist.
(WW) The directory "/usr/X11R6/lib/X11/fonts/TrueType/" does not exist.
(WW) The directory "/usr/X11R6/lib/X11/fonts/freefont/" does not exist.
(WW) Warning, couldn't open module xtt
(WW) Warning, couldn't open module speedo
(WW) I810(0): config file vrefresh range 50-70Hz not within DDC vrefresh ranges.
(WW) (1024x768,NEC Packard Bell) mode clock 94.5MHz exceeds DDC maximum 80MHz
(WW) (1152x864,NEC Packard Bell) mode clock 108MHz exceeds DDC maximum 80MHz
(WW) (1280x960,NEC Packard Bell) mode clock 108MHz exceeds DDC maximum 80MHz
(WW) (1280x1024,NEC Packard Bell) mode clock 108MHz exceeds DDC maximum 80MHz
(WW) (1280x1024,NEC Packard Bell) mode clock 135MHz exceeds DDC maximum 80MHz
(WW) I810(0): xf86AllocateGARTMemory: allocation of 4 pages failed
(WW) I810(0): Direct rendering disabled
:confused:

Aha! Jede Menge Fehlermeldungen! Wieso gibts die Ordner Speedo, CID, TrueType und freefont nicht? Und wieso können die Module xtt und speedo nicht geladen werden? Ich habe vorschriftmäßig X installiert: cd /usr/ports/x11/xorg && make install distclean. Wieso dann diese Fehlermeldungen? Und was heißt dort: (NI) not implemented? :eek:

Habe jetzt auch noch mal die webfonts aus /usr/ports/x11-fonts installiert, und mit Verdana sieht's im Opera halbwegs ordentlich aus.
 
Zuletzt bearbeitet:
1.)
(EE) Failed to load module "xtt" (module does not exist, 0)
(EE) Failed to load module "speedo" (module does not exist, 0)
(WW) Warning, couldn't open module xtt
(WW) Warning, couldn't open module speedo
(WW) The directory "/usr/X11R6/lib/X11/fonts/Speedo/" does not exist.
(WW) The directory "/usr/X11R6/lib/X11/fonts/CID/" does not exist.
Die Zeilen:
Code:
    Load        "xtt"
    Load        "speedo"
FontPath   "/usr/X11R6/lib/X11/fonts/CID/"
    FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"
kannst Du löschen da diese Font-Module nicht (mehr) unterstützt werden. => Gehören ins Informatik-Museum.

2.)
(WW) The directory "/usr/X11R6/lib/X11/fonts/TrueType/" does not exist.
(WW) The directory "/usr/X11R6/lib/X11/fonts/freefont/" does not exist.
Entweder die Schriftpfad-Angaben in der xorg.conf löschen oder die Verzeichnisse mit den entsprechenden Schriften bevölkern:
http://www.freshports.org/x11-fonts/

3.)
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Hinweise was die Buchstaben in den Klammern bedeuten.

4.)
(WW) I810(0): config file vrefresh range 50-70Hz not within DDC vrefresh ranges.
(WW) (1024x768,NEC Packard Bell) mode clock 94.5MHz exceeds DDC maximum 80MHz
(WW) (1152x864,NEC Packard Bell) mode clock 108MHz exceeds DDC maximum 80MHz
(WW) (1280x960,NEC Packard Bell) mode clock 108MHz exceeds DDC maximum 80MHz
(WW) (1280x1024,NEC Packard Bell) mode clock 108MHz exceeds DDC maximum 80MHz
(WW) (1280x1024,NEC Packard Bell) mode clock 135MHz exceeds DDC maximum 80MHz
Besser wäre:
Code:
 VertRefresh 58.0 - 62.0

5.)
(WW) I810(0): xf86AllocateGARTMemory: allocation of 4 pages failed
(WW) I810(0): Direct rendering disabled
3D-Grafik-Beschleunigung gemäss:
http://wiki.bsdforen.de/index.php/FreeBSD_-_3D-Grafik-Beschleunigung
installiert und konfiguriert?

6.) Wo bleibt der Opera-Screenshot im png-Format?

7.)
xdpyinfo ergibt 86x84 dots per inch. Ist das okay so? Im WiKi steht was von 96x96 dots als erstrebenswertes Ziel nebst Anleitung, um dieses Ziel zu verwirklichen. Werde mich nachher mal an die Arbeit machen.

Eine Datei /usr/X11R6/etc/fonts/local.conf existiert auf meinem System nicht.
Unbedingt die Wiki-Anleitung befolgen, dann wird die Schriftdarstellung besser!
 
Danke für deine ausführliche Antwort! Screenshot von Opera habe ich beigefügt, nachdem ich deine Empfehlungen umgesetzt habe, bis auf drm: Ich habe drm fest in den Kernel kompiliert, aber dmesg weiß nach der Installation des neuen Kernels und einem Reboot nichts von drm. Mein Grafikchip unterstützt offensichtlich kein drm, deshalb gibt es auch keine 3D-Unterstützung.

Die Schriften in Opera sind jetzt akzeptabel, obwohl immer noch etwas klein. Ich schraube noch ein wenig daran herum ...

:)
 

Anhänge

  • 2006-06-03-143247_1024x768_scrot.png
    2006-06-03-143247_1024x768_scrot.png
    108,8 KB · Aufrufe: 366
Die Schriften in Opera sind jetzt akzeptabel, obwohl immer noch etwas klein. Ich schraube noch ein wenig daran herum ...
Ja, die Schriftdarstellung ist sehr gut, nur recht klein, schraube noch etwas an der Bildschirmauflösung (dpi) mit der xorg.conf-Option "DisplaySize". Diese xorg.conf-Option wird in der Wiki-Anleitung unter dem Kapitel "Bildschirmauflösung" vorgestellt.
 
Die Auflösung liegt nun bei 96x97 dpi, besser habe ich es nicht hinbekommen. In die xorg.conf habe ich dafür DisplaySize 271 203 eingetragen. Da mein Bildschirm und der alte Grafikchip nur 1024x768 können, habe ich die DisplaySize-Werte nach der Formel 1024 x 25.4 / 96 und 768 x 25.4 / 96 ermittelt. Eine weitere Justierung war nicht möglich, aber ich finde das Ergebnis soweit zufriedenstellend.

Danke noch mal für die Hinweise!
 
quantumleeks schrieb:
Im WiKi steht was von 96x96 dots als erstrebenswertes Ziel
Erstrebenswert sollte eigentlich nur eine dynamische Berechnung je nach Auflösung und Monitorgröße sein, so wie es normalerweise korrekt wäre und standardmäßig auch vom X-Server so gehandhabt wird. Grund: Egal in welcher Auflösung, die Schriften sind dann immer gleich groß und in jeder Auflösung gut lesbar. Das ist gerade bei höheren Auflösungen sehr wichtig. Der X-Server verwendet dafür auch skalierbare Schriften (xorg-Schriftarten).

Da es aber Betriebssysteme à la Windows u. a. gibt, die feste DPI für ihre Schriften verwenden, egal in welcher Auflösung und mit welcher Monitorgröße, muss man mal wieder rumtricksen und auch auf feste DPI gehen.

Grund: Die Windows-Schriften sind nur für feste DPI gemacht und sind nicht gut skalierbar. Mit anderen DPI können sie ziemlich bescheiden aussehen (Pixelfehler u. ä.). Deshalb skaliert Windows sie nicht. Meist verwendet wird 96x96 dpi.

Will man also auch Windows-Schriften verwenden, z. B. weil auf Websites diese zum Einsatz kommen, dann sollte man auf 96x96 dpi gehen, sofern es mit der verwendeten Auflösung noch vertretbar ist, damit man eine optimale Darstellung hat.

Warum ist das besch***? Weil durch feste DPI die Schriften in jeder Auflösung unterschiedlich groß sind und anders aussehen. Im schlimmsten Fall sind sie nicht mehr lesbar.

Die Windows-Schriften können zwar vom X-Server skaliert werden. Es kann aber z. B. zu unerwünschten Darstellungsfehlern kommen, z. B. dass in einer Textzeile eine Pixelzeile fehlt und die Schrift in dieser Textzeile gestaucht aussieht. Sowas hatte ich früher mal im Browser beobachtet und mich gewundert, was das soll. Dann bin ich hinter o. g. "Geheimnis" gekommen und starte den X-Server nun mit 96x96 dpi (bei einer Auflösung von 1280x960 wäre normal 90x90 dpi) und die Effekte traten nie wieder auf.

Wenn man keine Windows-Schriften verwendet, dann sollte man auch auf keinen Fall feste DPI verwenden, da man so auf die Vorteile von dynamisch berechneten verzichten würde, ohne es zu müssen. Also X-Server einfach machen lassen und keine DisplaySize eintragen. Ausnahme: Es funktioniert nicht korrekt. Dann die reale Größe des Monitors dort eintragen.

Wer noch ein bisschen dazu lesen will:

http://www.bogomips.de/linux/fonts.php

Ist zwar bereits etwas älter, aber die Grundprinzipien stimmen immer noch.

quantumleeks schrieb:
Eine weitere Justierung war nicht möglich,
Doch, ist möglich. Der X-Server berechnet näherungsweise (meistens ca. 5er-Schritte), d. h., du musst zunächst nach jeder Änderung die Werte in xdpyinfo schauen, welche mm er bei dimensions verwendet. Die sind nicht immer mit denen in der xorg.conf identisch. Deshalb vergleichen und in der xorg.conf schrittweise weitergehen bis die gewünschte DPI verwendet werden. Dann bei xdpyinfo nachschauen und die dort angegebenen mm in xorg.conf eintragen, falls nicht schon identisch. Try & error. Funktioniert aber.

So bin ich auf folgende Werte gekommen:

dimensions: 1024x768 pixels (271 x 203 millimeters)
resolution: 96x96 dots per inch

Falls du wirklich 96x97 dpi bei deinem Monitor hast, dann musst die 203 mm in 1er-Schritten erhöhen, bis du bei 96x96 dpi bist. Muss unmittelbar in der Nähe liegen. ;)

Ich verwende:

dimensions: 1280x960 pixels (339 x 254 millimeters)
resolution: 96x96 dots per inch

Gruß
 
Erstrebenswert sollte eigentlich nur eine dynamische Berechnung je nach Auflösung und Monitorgröße sein, so wie es normalerweise korrekt wäre und standardmäßig auch vom X-Server so gehandhabt wird. Grund: Egal in welcher Auflösung, die Schriften sind dann immer gleich groß und in jeder Auflösung gut lesbar.
Theorie und Praxis sind zwei verschiedene Paar Schuhe. Tatsache ist, dass die meisten Benutzer von UNIX-ähnlichen Betriebssystemen mit X11-Server Probleme mit der Schriftdarstellung und -skalierung haben.

Also X-Server einfach machen lassen und keine DisplaySize eintragen.
In einigen Fällen erhielt ich schon DPI-Werten à la 85 x 70, da glaube ich nicht mehr an eine gute Schriftdarstellung..
 
AndreasMeyer schrieb:
Tatsache ist, dass die meisten Benutzer von UNIX-ähnlichen Betriebssystemen mit X11-Server Probleme mit der Schriftdarstellung und -skalierung haben.
Das wage ich doch zu bezweifeln, dass es "die meisten Benutzer" sind. Solche allgemeinen Aussagen sollte man doch unterlassen, wenn man sie nicht mit belastbaren Beweisen (hier repräsentative Zahlen) untermauern kann.

Ich habe eher die Erfahrung gemacht, dass sich nicht selten solche "Probleme" vor dem Bildschirm befinden, sprich, es sind Konfigurationsfehler oder -mängel oder unvollständige Konfigurationen. Wie gesagt, das ist meine persönliche Erfahrung.

AndreasMeyer schrieb:
In einigen Fällen erhielt ich schon DPI-Werten à la 85 x 70, da glaube ich nicht mehr an eine gute Schriftdarstellung..
Deshalb schrieb ich ja: "Ausnahme: Es funktioniert nicht korrekt. Dann die reale Größe des Monitors dort eintragen." Wenn diese korrekt ist, dann funktioniert es auch!

Es gibt zwei Varianten bei der Konfiguration:

Möglichkeit 1: Normalerweise sollte der X-Server die korrekte (reale) Größe des Monitors selbst automatisch ermitteln können. Dann stimmen nämlich die DPI auch. Und man braucht nichts weiter zu tun, also auch keine DisplaySize in die xorg.conf eintragen. Voraussetzung ist natürlich, dass die Hardware korrekte / fehlerfreie Werte übermittelt.

Möglichkeit 2: Der X-Server kann die korrekte (reale) Bildschirmgröße nicht korrekt ermitteln. Das kann diverse Ursachen haben. Manchmal meldet die Hardware auch falsche Werte. Dann sollte man die automatische Erkennung damit umgehen, dass man in die xorg.conf DisplaySize setzt und dort die reale Größe des Bildschirms in mm angibt.

Ausnahme bei beiden Varianten ist lediglich die o. g. Geschichte, wenn man wegen Windows-Schriften die 96x96 dpi fest haben will und auf die variable Skalierung je nach Auflösung verzichten will. Dann muss man je nach gewünschten DPI entsprechende nicht reale Werte verwenden.

Und nochmal: Wenn man dort falsche oder unpassende Werte einträgt, dann sitzt das Problem wieder vor dem Monitor ... ;)

Sofern nicht ein handfester Bug vorliegt, ist das reine Konfigurationssache. Wo ist also das Problem?

Gruß
 
Wieso rechnet ihr euch die Größe des Displays nicht einfach mit der Formel
Code:
x=(auflösung*25,4)/DPI
aus und tragt die entstehenden Werte in die monitorsektion in die Option "DisplaySize" ein? Dann habt ihr eine schöne, feststehende DPI-Anzahl und alle Probleme mit Schrift - ich gehe hier mal davon aus, dass 98% aller Nutzer hauptsächlich Windows-TTF nutzen - sowie Bitmapdarstellungen gehören der Vergangenheit an.
 
@ Yamagi: Das tun wir doch auch genau so! Hast du die vorangegangenen Beiträge überhaupt gelesen?

Es sind zwei Paar Schuhe, welche Werte bei DisplaySize in der xorg.conf stehen und was der X-Server dann daraus macht und tatsächlich verwendet. Das ist eben nicht gleich.

Man muss das Ergebnis der Berechnung i. d. R. runden, um auf eine ganze Zahl zu kommen. Der X-Server prüft die eingetragenen Werte und verwendet unter Umständen andere als die eingetragenen, wenn es erforderlich sein sollte.

Deshalb muss man eben per xdpyinfo schauen, was der X-Server als DisplaySize tatsächlich verwendet hat und ob die DPI dann auch stimmen. Wenn die Werte abweichen, muss man eben in der xorg.conf nachbessern.

Um nichts anderes ging es ... ;)

Gruß
 
minix schrieb:
Da es aber Betriebssysteme à la Windows u. a. gibt, die feste DPI für ihre Schriften verwenden, egal in welcher Auflösung und mit welcher Monitorgröße, muss man mal wieder rumtricksen und auch auf feste DPI gehen.
TrueType Schriftarten sind Vektorgrafiken und damit quase für's Skalieren prädestiniert.:belehren:
 
Ja, nur stimmen Theorie und Praxis leider nicht immer überein. Die seltsamen Effekte sind nunmal hin und wieder vorhanden. Umsonst macht man sich schließlich nicht diese Mühe, solchen Schmarren einzustellen / zu benutzen ... :rolleyes:

Außerdem kann man hier auch noch z. B. die xorg-fonts-100dpi | 75dpi anführen. Die sind auch wunderbar skalierbar und dennoch auf 100 dpi und 75 dpi optimiert. Der Font, der näher an der verwendeten DPI liegt, wird genommen und skaliert. Der Unterschied ist nur, dass es tadellos funktioniert, mit Windows-Schriften aber eben nicht immer.

Es haut eben nicht immer alles so hin, wie man es sich so denkt! :belehren:
 
Zurück
Oben