groff: Font Positions

 
 5.19.3 Font Positions
 ---------------------
 
 To support typeface indirection through abstract styles, and for
 compatibility with AT&T 'troff', the formatter maintains a list of font
 "positions" at which fonts required by a document are "mounted".  An
 output device's description file 'DESC' typically configures a set of
 pre-mounted fonts; see ⇒Device and Font Description Files.  A
 font need not be explicitly mounted before it is selected; GNU 'troff'
 will search 'GROFF_FONT_PATH' for it by name and mount it at the first
 free mounting position on demand.
 
  -- Request: .fp pos id [font-description-file-name]
  -- Register: \n[.f]
  -- Register: \n[.fp]
      Mount a font under the name ID at mounting position POS, a
      non-negative integer.  When the formatter starts up, it reads the
      output device's description to mount an initial set of faces, and
      selects font position 1.  Position 0 is unused by default.  Unless
      the FONT-DESCRIPTION-FILE-NAME argument is given, ID should be the
      name of a font description file stored in a directory corresponding
      to the selected output device.  GNU 'troff' does not traverse
      directories to locate the font description file.
 
      The optional third argument enables font names to be aliased, which
      can be necessary in compatibility mode since AT&T 'troff' syntax
      affords no means of identifying fonts with names longer than two
      characters, like 'TBI' or 'ZCMI', in a font selection escape
      sequence.  ⇒Compatibility Mode.  You can also alias fonts on
      mounting for convenience or abstraction.  (See below regarding the
      '.fp' register.)
 
           .fp \n[.fp] SC ZCMI
           Send a \f(SChand-written\fP thank-you note.
           .fp \n[.fp] Emph TI
           .fp \n[.fp] Strong TB
           Are \f[Emph]these names\f[] \f[Strong]comfortable\f[]?
 
      'DESC', 'P', and non-negative integers are not usable as font
      identifiers.
 
      The position of the currently selected font (or abstract style) is
      available in the read-only register '.f'.  It is associated with
      the environment (⇒Environments).
 
      You can copy the value of '.f' to another register to save it for
      later use.
 
           .nr saved-font \n[.f]
           ... text involving many font changes ...
           .ft \n[saved-font]
 
      The index of the next (non-zero) free font position is available in
      the read-only register '.fp'.  Fonts not listed in the 'DESC' file
      are automatically mounted at position '\n[.fp]' when selected with
      the 'ft' request or '\f' escape sequence.  When mounting a font at
      a position explicitly with the 'fp' request, this same practice
      should be followed, although GNU 'troff' does not enforce this
      strictly.