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
