diff options
Diffstat (limited to 'xc/lib/Xft/Xft.man')
-rw-r--r-- | xc/lib/Xft/Xft.man | 201 |
1 files changed, 116 insertions, 85 deletions
diff --git a/xc/lib/Xft/Xft.man b/xc/lib/Xft/Xft.man index 449f87d54..0a71bc931 100644 --- a/xc/lib/Xft/Xft.man +++ b/xc/lib/Xft/Xft.man @@ -1,5 +1,5 @@ .\" -.\" $XFree86: xc/lib/Xft/Xft.man,v 1.1 2000/10/05 18:05:26 keithp Exp $ +.\" $XFree86: xc/lib/Xft/Xft.man,v 1.2 2000/11/30 06:59:45 keithp Exp $ .\" .\" Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc. .\" @@ -39,107 +39,138 @@ library. .SH DATATYPES +.B XftPattern +holds a set of names with associated value lists; each name refers to a +property of a font. XftPatterns are used as inputs to the matching code as +well as holding information about specific fonts. + .B XftFont -is an opaque pointer to a font object containing references to both the X -server GlyphSet and the FreeType outline data. +contains general font metrics and a pointer to either the core XFontStruct +data or a structure holding FreeType and X Render Extension data. -.B XftFontName -contains matching information for accessing fonts. Each field is matched -with a bit in the mask indicating whether that field has valid data. +.B XftFontStruct +contains information about FreeType fonts used with the X Render Extension. -.Ds 0 -.TA .5i 3i -.ta .5i 3i -typedef struct _XftFontName { - unsigned long mask; - char *face; - char *encoding; - char *file; - int size; - int rotation; - int spacing; -} XftFontName; +.B XftFontSet +contains a list of XftPatterns. Internally Xft uses this data structure to +hold sets of fonts. Externally, Xft returns the results of listing fonts in +this format. -#define XftFontNameFace 0x1 -#define XftFontNameEncoding 0x2 -#define XftFontNameFile 0x4 -#define XftFontNameSize 0x8 -#define XftFontNameRotation 0x10 -#define XftFontNameSpacing 0x20 +.B XftObjectSet +holds a set of names and is used to specify which fields from fonts are +placed in the the list of returned patterns when listing fonts. -#define XftFontSpacingAny 0 -#define XftFontSpacingMono 1 -#define XftFontSpacingCell 2 +.B XftDraw +is an opaque object which holds information used to render to an X drawable +using either core protocol or the X Rendering extension. .SH FUNCTIONS -XftFont * -XftLoadFont (Display *dpy, XftFontName *name); - +.nf +XftFont * +XftFontOpen (Display *dpy, int screen, ...); +.fi +.B 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. +.PP +Example: +.br + font = XftFontOpen (dpy, scr, + XFT_FAMILY, XftTypeString, "charter", + XFT_SIZE, XftTypeDouble, 12.0); +.PP +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. +.PP +.nf void -XftFreeFont (Display *dpy, XftFont *font); - -int -XftFontAscent(Display *dpy, XftFont *font); - -int -XftFontDescent(Display *dpy, XftFont *font); - -int -XftFontHeight(Display *dpy, XftFont *font); - -int -XftFontMaxAdvanceWidth (Display *dpy, XftFont *font); - +XftTextExtents8 (Display *dpy, + XftFont *font, + unsigned char *string, + int len, + XGlyphInfo *extents); +.fi +.B XftTextExtents8 +computes the pixel extents of "string" when drawn with "font". +.PP +.nf +XftDraw * +XftDrawCreate (Display *dpy, + Drawable drawable, + Visual *visual, + Colormap colormap); +.fi +.B XtDrawCreate +creates a structure that can be used to render text and rectangles +to the screen. +.PP +.nf void -XftExtentsString (Display *dpy, - XftFont *font, - unsigned char *string, - int len, - XGlyphInfo *extents); - +XftDrawString8 (XftDraw *d, + XRenderColor *color, + XftFont *font, + int x, + int y, + unsigned char *string, + int len); +.fi +.B XftDrawString8 +draws "string" using "font" in "color" at "x, y". +.PP +.nf void -XftDrawString (Display *dpy, - Picture src, - XftFont *font, - Picture dst, - int srcx, - int srcy, - int x, - int y, - char *string, - int len); - +XftDrawRect (XftDraw *d, + XRenderColor *color, + int x, + int y, + unsigned int width, + unsigned int height); +.fi +.B XftDrawRect +fills a solid rectangle in the specified color. .SH XftConfig The .B XftConfig -file contains instructions for converting an XftFontName structure into -a usable set of glyphs. XftFontNames are refined through a series of -matching and editing steps. - -ents : ents ent - | - ; -ent : edit - | path - | dir +file contains configuration information for the Xft library consisting of +directories to look at for font information as well as instructions on +editing program specified font patterns before attempting to match the +available fonts. +.PP +.nf +config : "dir" STRING + | "include" STRING + | "includeif" STRING + | "match" tests "edit" edits ; -edit : MATCH patterns EDIT patterns +test : qual FIELD-NAME COMPARE CONSTANT ; -patterns: pattern patterns - | +qual : "any" + | "all" ; -pattern : FACE EQUAL STRING - | ENCODING EQUAL STRING - | FILE EQUAL STRING - | SIZE EQUAL NUMBER - | ROTATION EQUAL NUMBER - | SPACING EQUAL NUMBER +edit : FIELD-NAME ASSIGN expr SEMI ; -path : PATH STRING - ; -dir : DIR STRING - ; - +.fi +.PP +STRINGs are double-quote delimited. FIELD-NAMEs are identifiers, +ASSIGN is one of "=", "+=" or "=+". expr can contain the usual +arithmetic operators and can include FIELD-NAMEs. +.PP +"dir" adds a directory to the list of places Xft will look for fonts. +There is no particular order implied by the list; Xft treats all fonts about +the same. +.PP +"include" and "includeif" cause Xft to load more configuration parameters +from the indicated file. "includeif" doesn't elicit a complaint if the file +doesn't exist. If the file name begins with a '~' character, it refers to a +path relative to the home directory of the user. +.PP +If the tests in a "match" statement all match a user-specified pattern, the +pattern will be edited with the specified instructions. +.PP +Where ASSIGN is "=", the matching value in the pattern will be replaced by +the given expression. "+="/"=+" will prepend/append a new value to the list +of values for the indicated field. .SH RESTRICTIONS .B Xft |