Table of Contents

## 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)
/usr/X11R6/lib/X11/doc/README.fonts

## Author

Keith Packard, member of the XFree86 Project, Inc.

Table of Contents

- Name
- Description
- Datatypes
- Functions
- Configuration
- Compatibility
- See Also
- Author