---
name: "font"
section: "5g"
platform: "linux"
package: "sam"
version: "4.3-18.2"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/font/5g"
---

# font(5g)

external format for fonts and subfonts

## NAME

font, subfont - external format for fonts and subfonts

## SYNOPSIS

```
#include <libc.h>
#include <libg.h>
```

## DESCRIPTION

Fonts and subfonts are described in [*cachechars*(3g)](/cachechars/3g.md).

External fonts are described by a plain text file that can be read using *rdfontfile.* The format of the file is a header followed by any number of subfont range specifications. The header contains two numbers: the height and the ascent. The height is the inter-line spacing and the ascent is the distance from the top of the line to the baseline.  These numbers are chosen to display consistently all the subfonts of the font. A subfont range specification contains two numbers and a font name. The numbers are the inclusive range of characters covered by the subfont, and name specifies the name of an X font suitable for *getsubfont*. The minimum number of a covered range is mapped to the first defined character of the corresponding subfont. Each field must be followed by some white space. Each numeric field may be C-format decimal, octal, or hexadecimal.

Subfonts may be loaded using *getsubfont*, see [*graphics*(3g)](/graphics/3g.md).

## BUGS

Some X font names contain spaces which will terminate the field. For some fonts this can be worked around by replacing the spaces with characters in an attempt to fool the X font name pattern matching mechanism.

## SEE ALSO

[*graphics*(3g)](/graphics/3g.md), [*bitblt*(3g)](/bitblt/3g.md), [*cachechars*(3g)](/cachechars/3g.md).
