staging.inyokaproject.org

Linux Fontrendering?

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Roidal

Avatar von Roidal

Anmeldungsdatum:
19. März 2007

Beiträge: 356

Wie werden unter Linux die Schriften gerendert? Der X-Server scheint dafür ja eigene Befehle für das anzeigen (rendern) von Text zu haben. Dennoch wird in den meisten Programm die "libfreetype.so" gelinkt was darauf hindeutet, dass sich das Programm die Buchstaben selbst rendert. Nur müssten in diesem Fall die einzelnen Buchstaben, Sätze oder ganze Absätze als Bitmaps zum X-Server übertragen werden was einen enormen Bandbreiten- und Speicherbedarf hätte. Also wo (welcher Komponente) werden nun die Schriften gerendert?

Philipp_B Team-Icon

Supporter
Avatar von Philipp_B

Anmeldungsdatum:
22. Juli 2005

Beiträge: 8556

qoo

Anmeldungsdatum:
6. Juli 2008

Beiträge: 77

der_frager

Anmeldungsdatum:
5. Dezember 2008

Beiträge: 345

wo wir eh schon voll an der frage des threadstarters vorbei sind:

ich mag die mac fonts ur gern ☺

http://www.ubuntu-unleashed.com/2008/05/howto-install-mac-fonts-on-ubuntu.html

kamereon

Avatar von kamereon

Anmeldungsdatum:
17. April 2007

Beiträge: 361

Ich danke desperado666 trotzdem für den Link. ☺ Habe dadurch heute zum ersten mal "Autohinting" eingestellt. Vorher hatte ich immer nur über System –> Einstellungen –> Erscheinungsbild "Subpixelglättung" und "starkes Hinting" eingestellt. Speziell asiatische Fonts sehen aber mit "autohinting" nochmal besser aus.

Roidal

(Themenstarter)
Avatar von Roidal

Anmeldungsdatum:
19. März 2007

Beiträge: 356

der frager schrieb:

wo wir eh schon voll an der frage des threadstarters vorbei sind:

ich mag die mac fonts ur gern ☺

http://www.ubuntu-unleashed.com/2008/05/howto-install-mac-fonts-on-ubuntu.html

Wäre aber dennoch toll wenn wir wieder zu der Frage zurück kommen würden. 😉

Philipp_B Team-Icon

Supporter
Avatar von Philipp_B

Anmeldungsdatum:
22. Juli 2005

Beiträge: 8556

Der Algorithmus, der von libxft2 und libcairo benutzt wird,...

steht doch im zitiertem wiki artikel.

Roidal

(Themenstarter)
Avatar von Roidal

Anmeldungsdatum:
19. März 2007

Beiträge: 356

desperado666 schrieb:

Der Algorithmus, der von libxft2 und libcairo benutzt wird,...

steht doch im zitiertem wiki artikel.

Und wie werden dann diese Schriften zum X-server übertragen? Bzw. Warum muss man dem X-Server dann auch den Pfad zu den Schriftarten konfigurieren wenn diese eh von der Anwendung selbst gerendert wird?

Rome

Avatar von Rome

Anmeldungsdatum:
1. Dezember 2008

Beiträge: 48

Den Pfad braucht X um seine eigenen Schriften zu finden denn nicht jede Anwendung nutzt eine eigene Vektorengine. Häufig ist das auf jedem System ziemlich bunt gemischt - "echte" Gnome-Anwendungen nutzen Cairo und andere benutzen die eingebaute Fontengine des X-Servers (zB. Mozilla).

Egal wo bzw von welcher Bibliothek die Schrift gezeichnet wird ist der Ablauf immer gleich: Die Schriften werden auf eine Bitmap gerendert und diese Bitmap wird dann auf den Bildschirm kopiert (die Spezialisten mögen mir diese Vereinfachung verzeihen ☺ ). Das geht gar nicht anders denn keine Grafikkarte dieser Welt kann direkt Schriften rendern - mehr als einfache Texturen, Punkte, Linien und Dreiecke sind da nicht zu holen.

Den Speicherverbrauch kann man durch geschickte Strategien bei der Wiederverwendung und mit Hilfe von Datenkompression ziemlich klein halten ohne dass die Geschwindigkeit darunter leiden würde. Die Engines sind ziemlich ausgereift in dieser Beziehung.

Normalerweise (bzw zum Glück) braucht man sich mit solchen Details aber nicht selbst herumzuschlagen. Das läuft alles unter der Haube ab. Wenn es Dich die Details dennoch interessieren, kannst Du ja mal einen Blick in die Sourcen von Cairo wagen. ☺

Roidal

(Themenstarter)
Avatar von Roidal

Anmeldungsdatum:
19. März 2007

Beiträge: 356

@Rome: Ich habe mich noch nicht mit der X-Server-programmierung beschäftigt, aber ist es einem Programm möglich mehrere Bitmaps zum Server zu schicken und diese dann innerhalb seines Fensters mehrmals zu blitten?

PS: Firefox scheint die Schriften auch selbst zu rendern (hat die libfreetype.so gelinkt).

glasen

Anmeldungsdatum:
5. November 2004

Beiträge: 2690

Firefox überlässt seit Version 3 das Rendern des Bildschirminhaltes auch Cairo.

Ansonsten, schau mal hier nach :

http://de.wikipedia.org/wiki/FreeType

Roidal

(Themenstarter)
Avatar von Roidal

Anmeldungsdatum:
19. März 2007

Beiträge: 356

Nach langem suchen bin ich auf diese 2 Artikel gestoßen in denen es kurz und bündig erklärt wird.

http://en.wikipedia.org/wiki/Xft
http://en.wikipedia.org/wiki/XRender

Tja, nach dem logischsten sucht man halt zum Schluß.

Antworten |