|
NAME
| |
font, subfont – external format for fonts and subfonts
|
SYNOPSIS
DESCRIPTION
| |
Fonts and subfonts are described in cachechars(3).
External fonts are described by a plain text file that can be
read using openfont. 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, both in pixels. 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 or three
numbers and a file name. The numbers are the inclusive range of
characters covered by the subfont, with an optional starting position
within the subfont, and the file name names an external file suitable
for readsubfont (see
graphics(3)). The minimum number of a covered range is mapped
to the specified starting position (default zero) of the corresponding
subfont. If the subfont file name does not begin with a slash,
it is taken relative to the directory containing the font file.
Each field must be followed by some white space. Each numeric
field may be C-format decimal,
octal, or hexadecimal.
External subfonts are represented in a more rigid format that
can be read and written using readsubfont and writesubfont (see
subfont(3)). The format for subfont files is: an image containing
character glyphs, followed by a subfont header, followed by character
information. The image has the format for external image files
described in image(7). The
subfont header has 3 decimal strings: n, height, and ascent. Each
number is right-justified and blank padded in 11 characters, followed
by a blank. The character info consists of n+1 6-byte entries,
each giving the Fontchar x (2 bytes, low order byte first), top,
bottom, left, and width. The x field of the last Fontchar is used
to calculate the
image width of the previous character; the other fields in the
last Fontchar are irrelevant.
Note that the convention of using the character with value zero
(NUL) to represent characters of zero width (see draw(3)) means
that fonts should have, as their zeroth character, one with non-zero
width.
|
FILES
SEE ALSO
|
|