This file shows the interdependencies of various FreeType modules.

Note that the use of `psnames' can be controlled in ftconfig.h
(FT_CONFIG_OPTION_POSTSCRIPT_NAMES).

  module       dependency
 ---------------------------------------
  cff          sfnt, pshinter, psnames
  cid          psaux, pshinter, psnames
  truetype     sfnt
  type1        psaux, pshinter, psnames
  psaux        psnames
  sfnt         psnames
