James Cornell wrote:
> Sounds like something to do with xft... what renders text, cairo, 
> freetype2, or...?  Sorry, I'm not familiar with the internals, or the 
> changes.  I can't remember which backends they swapped out.

The view of the world from the X side (which includes FreeType2 & Xft2,
but not the rest, so I may be wrong about the details of the other bits):

FreeType2 is what converts a TTF or other font file into a pattern
of bits displayed on the screen, but it has lots of flags that
control how that's done (anti-aliasing, hinting, LCD optimization, etc.).

Xft2 is the library that calls FreeType to get a bit pattern and then
displays that bit pattern on the X server, via either the Render
extension or plain Xlib (but plain Xlib is slow).

fontconfig is the library that finds /usr/X11/lib/X11/fonts/TTF/Times.ttf
when you ask for "Times Roman 12".   (It's called by either Xft2 or pango,
I forget which.)

pango is the library that calls Xft with a list of glyphs and locations
to display them at, after determining what ordering and spacing they
should be laid out in, and what glyphs to display for a given character
string (which is much easier for English than for languages like Arabic
or Hindi).

GTK+ is the library that applications call to draw their interface on
screen (the toolkit), and it calls pango to draw the text portion of
those interfaces.

I'm not sure if cairo calls pango or goes direct to Xft2.

For more information on these:
 FreeType2: http://www.freetype.org/
 Xft2: Xft(3) man page
 FontConfig: http://fontconfig.org/ , libfontconfig(3lib)
 Pango: http://www.pango.org/
 GTK+: http://www.gtk.org/
 Cairo: http://cairographics.org/

-- 
        -Alan Coopersmith-           alan.coopersmith at sun.com
         Sun Microsystems, Inc. - X Window System Engineering


Reply via email to