X logical font description



X logical font description (XLFD) is a font standard used by the X Window System and first published in 1988. Modern X software typically relies on the newer Fontconfig system instead, but XLFDs are still supported in current X window implementations for compatibility with legacy software.

XLFD is intended to support:


 * unique, descriptive font names that support simple pattern matching
 * multiple font vendors, arbitrary character sets, and encodings
 * naming and instancing of scalable and polymorphic fonts
 * transformations and subsetting of fonts
 * independence of X server and operating or file system implementations
 * arbitrarily complex font matching or substitution
 * extensibility

One prominent XLFD convention is to refer to individual fonts including any variations using their unique FontName. It comprises a sequence of fourteen hyphen-prefixed, X-registered fields:


 * 1) FOUNDRY: Type foundry - vendor or supplier of this font
 * 2) FAMILY_NAME: Typeface family
 * 3) WEIGHT_NAME: Weight of type
 * 4) SLANT: Slant (upright, italic, oblique, reverse italic, reverse oblique, or "other")
 * 5) SETWIDTH_NAME: Proportionate width (e.g. normal, condensed, narrow, expanded/double-wide)
 * 6) ADD_STYLE_NAME: Additional style (e.g. (Sans) Serif, Informal, Decorated)
 * 7) PIXEL_SIZE: Size of characters, in pixels; 0 (Zero) means a scalable font
 * 8) POINT_SIZE: Size of characters, in tenths of points
 * 9) RESOLUTION_X: Horizontal resolution in dots per inch (DPI), for which the font was designed
 * 10) RESOLUTION_Y: Vertical resolution, in DPI
 * 11) SPACING: monospaced, proportional, or "character cell"
 * 12) AVERAGE_WIDTH: Average width of characters of this font; 0 means scalable font
 * 13) CHARSET_REGISTRY: Registry defining this character set
 * 14) CHARSET_ENCODING: Registry's character encoding scheme for this set

The following sample is for a 75-dpi, 12-point, Charter font:

-bitstream-charter-medium-r-normal--12-120-75-75-p-68-iso8859-1[65 70 80_90] (which also tells the font source that the client is interested only in characters 65, 70, and 80-90.)