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)