FONT(6)                                                   FONT(6)

     NAME
          font, subfont - external format for fonts and subfonts

     SYNOPSIS
          #include <libg.h>

     DESCRIPTION
          Fonts and subfonts are described in cachechars(2).

          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 dis-
          tance from the top of the line to the baseline.  These num-
          bers are chosen to display consistently all the subfonts of
          the font.  A subfont range specification contains two num-
          bers and a file name.  The numbers are the inclusive range
          of characters covered by the subfont, and the file name
          names an external file suitable for rdsubfontfile. The mini-
          mum number of a covered range is mapped to character zero of
          the corresponding subfont.  If the subfont file name does
          not begin with a slash, it is taken relative to the direc-
          tory 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 rdsubfontfile and
          wrsubfontfile (see subfalloc(2)). The format for subfont
          files is: a bitmap containing character images, followed by
          a subfont header, followed by character information.  The
          bitmap has the format for external bitmap files described in
          bitmap(6). 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 bitmap width of the previous character; the
          other fields in the last Fontchar are irrelevant.

     SEE ALSO
          graphics(2), bitblt(2), cachechars(2), subfalloc(2)

     Page 1                       Plan 9            (printed 12/21/24)