Man Linux: Main Page and Category List

NAME

       defoma   -   Debian  Font  Manager,  a  framework  for  automatic  font
       configuration.

SYNOPSIS

       defoma-font [options] command args..
       defoma-app [options] command args..
       defoma-subst [options] command args..

DESCRIPTION

       Defoma stands for Debian Font Manager.  It  provides  a  framework  for
       automatic  font  configuration.  This manpage introduces general Defoma
       concepts, please refer  the  manpage  of  defoma-font,  defoma-app,  or
       defoma-subst for the detailed information of each command.

       Fonts  are  used  by  numerous  applications,  but generally need to be
       configured separately for each application. Defoma solves this  problem
       by  calling  configuration  scripts to update the font configuration of
       applications whenever a font is installed or removed.

       A Defoma-configuration script is a perl library that  each  application
       should       install       as       application-name.defoma       under
       /usr/share/defoma/scripts  and  which  configures  a  font   for   that
       application.  The following is an example of a script named foo.defoma.

       @ACCEPT_CATEGORIES = qw(type1 truetype);

       package foo;

       sub type1 {
         my $com = shift;
         ...
       }

       sub truetype {
         my $com = shift;
         ...
       }

       1;

       This example represents an application  foo  that  wants  to  configure
       truetype  and  type1 category fonts. A function by the same name as the
       relevant category is called by Defoma  with  a  command  as  the  first
       argument,  and then additional arguments depending on the command.  The
       following is a list of commands.

       * register
       * unregister
       * do-install-real do-install-alias do-install-subst
       * do-remove-real do-remove-alias do-remove-subst
       * init
       * term
       * purge

       do-install-* and do-remove-* commands are only called  from  Id  cache.
       init  and  term  are  called at the start and end (respectively) of the
       entire process.

       Id cache  is  another  feature  of  Defoma.  A  common  problem  during
       automatic  configuration  is name space conflicts. Usually applications
       access fonts through logical font names (like XLFDs and PostScript font
       names)  rather  than  the fonts themselves (as font filenames). Logical
       font  names,  called  identifiers  in  Defoma,  can   easily   conflict
       especially  when  font  aliases  are  permitted.  Through  the Id cache
       mechanism, only one font is actually installed for each identifier even
       if it is provided by several fonts.

       Id  Substitution  is  an  additional feature of Id cache.  It selects a
       font to provide an id specified by a rulefile.  The rulefile  describes
       rules giving required ids and their hints.  A rule is used to have more
       similar-looking  fonts  with  the  same  characters  substitute  for  a
       required  id. This feature can also be used for the purpose of grouping
       fonts into different categories.

       A category represents a type of font. Generally fonts  that  belong  to
       the same category are configured the same way.

       Hints  represent  essential  font  information and typeface information
       about the font.  They consist of some HintTypes and their values.  They
       can  be  specified  from  the  command  line options of defoma-font, or
       through a hintfile.

       Hintfile describes one or more fonts and their hints in a single  file.
       It is supposed to be put under /etc/defoma/hints as a conffile, so that
       users can modify the hints.
       Below  is  an  example  hintfile.   defoma-hints  is  a  tool  to  help
       generating  hints as well as the hintfile, so you do not have to create
       one from scratch.

       category type1
       begin /usr/share/fonts/type1/foo.pfa
         FontName = Helvetica
         Charset = ISO8859-1
         Family = Helvetica
         Weight = Medium
         Shape = Upright NoSerif
         GeneralFamily = SansSerif
         X-FontName = -urw-helvetica-medium-r-noraml--0-0-0-0-p-iso8859-1
       end
       begin /usr/share/fonts/type1/foob.pfa
         FontName = Helvetica-Bold
         Charset = ISO8859-1
         Family = Helvetica
         Weight = Bold
         Shape = Upright NoSerif
         GeneralFamily = SansSerif
         X-FontName = -urw-helvetica-bold-r-noraml--0-0-0-0-p-iso8859-1
       end

SEE ALSO

       defoma-font(1).   defoma-app(1).   defoma-subst(1).    defoma-hints(1).
       defoma-psfont-installer(1).  defoma-reconfigure(1).  Defoma::Font(3pm).
       Defoma::Id(3pm).        Defoma::Subst(3pm).        Defoma::Common(3pm).
       /usr/share/doc/defoma-doc/developers.html/index.html
       /usr/share/doc/defoma-doc/defoma-script.html/index.html

                                March  4, 2001                       defoma(1)