---
name: "XSetFontPath"
section: "3x"
platform: "linux"
package: "libx11-dev"
version: "4.3.0.dfsg.1-14sarge7"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/XSetFontPath/3x"
---

# XSetFontPath(3x)

set, get, or free the font search path

## NAME

XSetFontPath, XGetFontPath, XFreeFontPath - set, get, or free the font search path

## SYNTAX

int XSetFontPath(Display \**display*, char \*\**directories*, int *ndirs*);

char \*\*XGetFontPath(Display \**display*, int \**npaths\_return*);

int XFreeFontPath(char \*\**list*);

## ARGUMENTS

- *directories*

  Specifies the directory path used to look for a font. Setting the path to the empty list restores the default path defined for the X server.

- *display*

  Specifies the connection to the X server.

- *list*

  Specifies the array of strings you want to free.

- *ndirs*

  Specifies the number of directories in the path.

- *npaths\_return*

  Returns the number of strings in the font path array.

## DESCRIPTION

The *XSetFontPath* function defines the directory search path for font lookup. There is only one search path per X server, not one per client. The encoding and interpretation of the strings are implementation-dependent, but typically they specify directories or font servers to be searched  in the order listed. An X server is permitted to cache font information internally; for example, it might cache an entire font from a file and not check on subsequent opens of that font to see if the underlying font file has changed. However, when the font path is changed, the X server is guaranteed to flush all cached information about fonts  for which there currently are no explicit resource IDs allocated. The meaning of an error from this request is implementation-dependent.

*XSetFontPath* can generate a *BadValue* error.

The *XGetFontPath* function allocates and returns an array of strings containing the search path. The contents of these strings are implementation-dependent and are not intended to be interpreted by client applications. When it is no longer needed, the data in the font path should be freed by using *XFreeFontPath*.

The *XFreeFontPath* function frees the data allocated by *XGetFontPath*.

## DIAGNOSTICS

- *BadValue*

  Some numeric value falls outside the range of values accepted by the request. Unless a specific range is specified for an argument, the full range defined by the argument's type is accepted.  Any argument defined as a set of alternatives can generate this error.

## SEE ALSO

XListFont(3X11), XLoadFonts(3X11)\
 *Xlib - C Language X Interface*
