Penguin
Annotated edit history of defoma(1) version 5, including all changes. View license author blame.
Rev Author # Line
3 perry 1 defoma
2 !!!defoma
3 NAME
4 SYNOPSIS
5 DESCRIPTION
6 SEE ALSO
7 ----
8 !!NAME
9
10
11 defoma - Debian Font Manager, provides automatic font configuration framework.
12 !!SYNOPSIS
13
14
15 __defoma-font__ [[''options''] ''command
16 args..''__
17 defoma-app__ [[''options''] ''command args..''__
18 defoma-subst__ [[''options''] ''command
19 args..''
20 !!DESCRIPTION
21
22
23 Defoma stands for Debian Font Manager. It provides automatic
24 font configuration framework. Please refer the manpage of
25 defoma-font, defoma-app, or defoma-subst for the detailed
26 information of each command. This page describes the
27 introduction of Defoma.
28
29
30 Generally fonts are used by various applications, but
31 there's no way to configure them properly for each
32 application, especially for higher level ones like word
33 processor and illustrator. Defoma is a solution to this
34 problem. It calls configuration scripts installed by
35 applications whenever a font is installed/removed to update
36 the font configuration of applications.
37
38
39 __Defoma-configuration script__ is a perl library that
40 each application should install as
41 ''application-name''.defoma under
42 /usr/share/defoma/scripts and which configures about a font
43 for the application. Following is the example of the script
44 named foo.defoma.
45
46
47 @ACCEPT_CATEGORIES = qw(type1 truetype);
48 package foo;
49 sub type1 {
50 my $com = shift;
51 ...
52 }
53 sub truetype {
54 my $com = shift;
55 ...
56 }
57 1;
58 This example represents an application ''foo'' wants to con- figure ''truetype'' and ''type1'' category fonts. Each function whose name is the same as a category is called with com- mand and additional arguments from Defoma. Following is a list of commands.
59
60
61 * register
62 * unregister
63 * do-install-real do-install-alias do-install-subst
64 * do-remove-real do-remove-alias do-remove-subst
65 * init
66 * term
67 * purge
68 ''do-install-*'' and ''do-remove-*'' commands are called from __Id cache__ so they are never passed unless the script makes use of it. ''init'' and ''term'' are called before/after the regis- tration and unregistration starts/finishes, respectively.
69
70
71 __Id cache__ is another feature of Defoma. The possible
72 prob- lem of automatic configuration is name space
73 confliction. Usually applications access fonts through their
74 logical font names (like XLFDs and !PostScript font names)
75 rather than the fonts themselves (like font files). Logical
76 font names, called identifier in Defoma, can easily
77 confclict especially if aliases are permitted. Through Id
78 cache mechanism, only one font is actually installed for
79 each identifier even if several fonts provide the same
80 identi- fier.
81
82
83 __Id Substitution__ is additional feature to __Id
84 cache__. It makes a certain font provide a certain id
85 specified in a rulefile. Rulefile describes
86 need-to-be-substituted (in other words, required) ids and
87 their hints, called rule. The rule is used to have more
88 similar-looking fonts with the same characters substitute
89 for a required id. This feature can also be used for the
90 purpose to make corre- spondence of fonts in different
91 categories.
92
93
94 __Category__ represents a type of fonts. Generally
95 configura- tion for fonts that belong to the same category
96 goes the same way, so it benefits the application's
97 configuration script.
98
99
100 __Hints__ represent essential font information and
101 typeface information of the font. They consist of some
102 !HintTypes and their values. They can be specified from
103 command line options of defoma-font, or through a
104 __hintfile__.
105
106
107 __Hintfile__ describes one or more fonts and their hints
108 in a single file. It is supposed to be put under
109 /etc/defoma/hints as a conffile, so that users can modify
110 the hints.
111 Following is the example of hintfile. __defoma-hints__ is
112 a tool to help generating hints as well as hintfile, so you
113 do not have to create one from scratch.
114
115
116 category type1
117 begin /usr/share/fonts/type1/foo.pfa
118 !FontName = Helvetica
119 Charset = ISO8859-1
120 Family = Helvetica
121 Weight = Medium
122 Shape = Upright !NoSerif
123 !GeneralFamily = !SansSerif
124 X-!FontName = -urw-helvetica-medium-r-noraml--0-0-0-0-p-iso8859-1
125 end
126 begin /usr/share/fonts/type1/foob.pfa
127 !FontName = Helvetica-Bold
128 Charset = ISO8859-1
129 Family = Helvetica
130 Weight = Bold
131 Shape = Upright !NoSerif
132 !GeneralFamily = !SansSerif
133 X-!FontName = -urw-helvetica-bold-r-noraml--0-0-0-0-p-iso8859-1
134 end
135
5 AristotlePagaltzis 136 !! SEE ALSO
3 perry 137
5 AristotlePagaltzis 138 * defoma-font(1)
139 * defoma-app(1)
140 * defoma-subst(1)
141 * defoma-hints(1).
142 * defoma-psfont-installer(1)
143 * defoma-reconfigure(1)
144 * Defoma::!Font(3pm)
145 * Defoma::!Id(3pm)
146 * Defoma::!Subst(3pm)
147 * Defoma::!Common(3pm)
148 * __/usr/share/doc/defoma-doc/developers.html/index.html__
149 * __/usr/share/doc/defoma-doc/defoma-script.html/index.html__
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.

PHP Warning

lib/blame.php:177: Warning: Invalid argument supplied for foreach()