XFT(3)

NAME
 Xft - X FreeType interface library

DESCRIPTION
Xft is a simple library designed to interface the FreeType rasterizer with the X Rendering Extension. This manual page barely scratches the surface of this library.

DATATYPES
XftFont contains general font metrics and a pointer to either the core XFontStruct data or a structure holding FreeType and X Render Extension data. XftDraw is an opaque object which holds information used to render to an X drawable using either core protocol or the X Rendering extension. XftColor contains a pixel value and the ARGB values associated with it.

FUNCTIONS
XftFont *
XftFontOpen (Display *dpy, int screen, ...);
XftFontOpen takes a list of pattern elements of the form (field, type, value) terminated with a 0, matches that pattern against the available fonts and opens the matching font.

Example:
    font = XftFontOpen (dpy, scr,
                XFT_FAMILY, XftTypeString, "charter",
                XFT_SIZE, XftTypeDouble, 12.0);

This opens the charter font at 12 points. The point size is automatically converted to the correct pixel size based on the resolution of the monitor.

void
XftTextExtents8 (Display	*dpy,
		 XftFont	*font,
		 FcChar8  	*string,
		 int		len,
		 XGlyphInfo	*extents);
XftTextExtents8 computes the pixel extents of "string" when drawn with "font".

XftDraw *
XftDrawCreate (Display   *dpy,
	       Drawable  drawable,
	       Visual    *visual,
	       Colormap  colormap);
XtDrawCreate creates a structure that can be used to render text and rectangles to the screen.

void
XftDrawString8 (XftDraw		*d,
		XftColor	*color,
		XftFont		*font,
		int		x,
		int		y,
		FcChar8		*string,
		int		len);
XftDrawString8 draws "string" using "font" in "color" at "x, y".

void
XftDrawRect (XftDraw	    *d,
	     XftColor	    *color,
	     int	    x,
	     int	    y,
	     unsigned int   width,
	     unsigned int   height);
XftDrawRect fills a solid rectangle in the specified color.

Bool
XftColorAllocName (Display  *dpy,
		   Visual   *visual,
		   Colormap cmap,
		   char	    *name,
		   XftColor *result);
XftColorAllocName allocates a XftColor structure. It asks the X server to allocate a pixel and return the associated RGB values wich are used to construct an XRenderColor . This requires a round trip (bad).

Bool
XftColorAllocValue (Display	    *dpy,
		    Visual	    *visual,
		    Colormap	    cmap,
		    XRenderColor    *color,
		    XftColor	    *result);
For TrueColor visuals, XftColorAllocValue computes the nearest supported ARGB value and the associated pixel value and stores them in the result. No round trip is required. For non-TrueColor visuals, XftColorAllocValue asks the X server to allocate the specified color and stores the resulting pixel and ARGB values into result.

void
XftColorFree (Display	*dpy,
	      Visual	*visual,
	      Colormap	cmap,
	      XftColor	*color);
XftColorFree frees a color when it is no longer in use.

CONFIGURATION
The Xft version 2 library uses fontconfig(3) for its configuration. The XftConfig files are not used anymore.

COMPATIBILITY
As of version 2, Xft has become relatively stable and is expected to retain source and binary compatibility in future releases.

SEE ALSO
fontconfig(3)
__projectroot__/lib/X11/doc/README.fonts

AUTHOR
Keith Packard, member of the XFree86 Project, Inc.