FONT(6) FONT(6)
𝗡𝗔𝗠𝗘
font, subfont - external format for fonts and subfonts
𝗦𝗬𝗡𝗢𝗣𝗦𝗜𝗦
#𝚒𝚗𝚌𝚕𝚞𝚍𝚎 <𝚍𝚛𝚊𝚠.𝚑>
𝗗𝗘𝗦𝗖𝗥𝗜𝗣𝗧𝗜𝗢𝗡
Fonts and subfonts are described in 𝘤𝘢𝘤𝘩𝘦𝘤𝘩𝘢𝘳𝘴(2).
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 base-
line. 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 sub-
font, with an optional starting position within the subfont,
and the file name names an external file suitable for
𝘳𝘦𝘢𝘥𝘴𝘶𝘣𝘧𝘰𝘯𝘵 (see 𝘨𝘳𝘢𝘱𝘩𝘪𝘤𝘴(2)). The minimum number of a cov-
ered 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 𝘳𝘦𝘢𝘥𝘴𝘶𝘣𝘧𝘰𝘯𝘵 and
𝘸𝘳𝘪𝘵𝘦𝘴𝘶𝘣𝘧𝘰𝘯𝘵 (see 𝘴𝘶𝘣𝘧𝘰𝘯𝘵(2)). The format for subfont files
is: an image containing character glyphs, followed by a sub-
font header, followed by character information. The image
has the format for external image files described in
𝘪𝘮𝘢𝘨𝘦(6). The subfont header has 3 decimal strings: 𝚗,
𝚑𝚎𝚒𝚐𝚑𝚝, 𝚊𝚗𝚍 𝚊𝚜𝚌𝚎𝚗𝚝. Each number is right-justified and
blank padded in 11 characters, followed by a blank. The
character info consists of 𝚗+𝟷 6-byte entries, each giving
the 𝙵𝚘𝚗𝚝𝚌𝚑𝚊𝚛 𝚡 (2 bytes, low order byte first), 𝚝𝚘𝚙, 𝚋𝚘𝚝𝚝𝚘𝚖,
𝚕𝚎𝚏𝚝, and 𝚠𝚒𝚍𝚝𝚑. The 𝚡 field of the last 𝙵𝚘𝚗𝚝𝚌𝚑𝚊𝚛 is used
to calculate the image width of the previous character; the
other fields in the last 𝙵𝚘𝚗𝚝𝚌𝚑𝚊𝚛 are irrelevant.
Note that the convention of using the character with value
zero (NUL) to represent characters of zero width (see
𝘥𝘳𝘢𝘸(2)) means that fonts should have, as their zeroth char-
acter, one with non-zero width.
𝗙𝗜𝗟𝗘𝗦
/𝚕𝚒𝚋/𝚏𝚘𝚗𝚝/𝚋𝚒𝚝/* font directories
𝗦𝗘𝗘 𝗔𝗟𝗦𝗢
𝘨𝘳𝘢𝘱𝘩𝘪𝘤𝘴(2), 𝘥𝘳𝘢𝘸(2), 𝘤𝘢𝘤𝘩𝘦𝘤𝘩𝘢𝘳𝘴(2), 𝘴𝘶𝘣𝘧𝘰𝘯𝘵(2)
|