fonts.dtd - randomcrap - random crap programs of varying quality
(HTM) git clone git://git.codemadness.org/randomcrap
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
fonts.dtd (7250B)
---
1 <!-- This is the Document Type Definition for font configuration files -->
2 <!ELEMENT fontconfig (dir |
3 cache |
4 cachedir |
5 include |
6 config |
7 selectfont |
8 match |
9 alias)* >
10
11 <!--
12 Add a directory that provides fonts
13 -->
14 <!ELEMENT dir (#PCDATA)>
15 <!ATTLIST dir
16 prefix CDATA "default"
17 xml:space (default|preserve) 'preserve'>
18
19 <!--
20 Define the per-user file that holds cache font information.
21
22 If the filename begins with '~', it is replaced with the users
23 home directory path.
24 -->
25 <!ELEMENT cache (#PCDATA)>
26 <!ATTLIST cache xml:space (default|preserve) 'preserve'>
27
28 <!--
29 Add a directory that is searched for font cache files.
30 These hold per-directory cache data and are searched in
31 order for each directory. When writing cache files, the first
32 directory which allows the cache file to be created is used.
33
34 A leading '~' in a directory name is replaced with the users
35 home directory path.
36 -->
37 <!ELEMENT cachedir (#PCDATA)>
38 <!ATTLIST cachedir
39 prefix CDATA "default"
40 xml:space (default|preserve) 'preserve'>
41
42 <!--
43 Reference another configuration file; note that this
44 is another complete font configuration file and not
45 just a file included by the XML parser.
46
47 Set 'ignore_missing' to 'yes' if errors are to be ignored.
48
49 If the filename begins with '~', it is replaced with the users
50 home directory path.
51 -->
52 <!ELEMENT include (#PCDATA)>
53 <!ATTLIST include
54 ignore_missing (no|yes) "no"
55 prefix CDATA "default"
56 deprecated (yes|no) "no"
57 xml:space (default|preserve) "preserve">
58
59 <!--
60 Global library configuration data
61 -->
62 <!ELEMENT config (blank|rescan)*>
63
64 <!--
65 Specify the set of Unicode encoding values which
66 represent glyphs that are allowed to contain no
67 data. With this list, fontconfig can examine
68 fonts for broken glyphs and eliminate them from
69 the set of valid Unicode chars. This idea
70 was borrowed from Mozilla
71 -->
72 <!ELEMENT blank (int|range)*>
73
74 <!--
75 Aliases are just a special case for multiple match elements
76
77 They are syntactically equivalent to:
78
79 <match>
80 <test name="family">
81 <string value=[family]/>
82 </test>
83 <edit name="family" mode="prepend">
84 <string value=[prefer]/>
85 ...
86 </edit>
87 <edit name="family" mode="append">
88 <string value=[accept]/>
89 ...
90 </edit>
91 <edit name="family" mode="append_last">
92 <string value=[default]/>
93 ...
94 </edit>
95 </match>
96 -->
97 <!--
98 Periodically rescan the font configuration and
99 directories to synch internal state with filesystem
100 -->
101 <!ELEMENT rescan (int)>
102
103 <!--
104 Edit list of available fonts at startup/reload time
105 -->
106 <!ELEMENT selectfont (rejectfont | acceptfont)* >
107
108 <!ELEMENT rejectfont (glob | pattern)*>
109
110 <!ELEMENT acceptfont (glob | pattern)*>
111
112 <!ELEMENT glob (#PCDATA)>
113
114 <!ELEMENT pattern (patelt)*>
115
116 <!ENTITY % constant 'int|double|string|matrix|bool|charset|langset|const'>
117
118 <!ELEMENT patelt (%constant;)*>
119 <!ATTLIST patelt
120 name CDATA #REQUIRED>
121
122 <!ELEMENT alias (test?, family*, prefer?, accept?, default?)>
123 <!ATTLIST alias
124 binding (weak|strong|same) "weak">
125 <!ELEMENT prefer (family)*>
126 <!ELEMENT accept (family)*>
127 <!ELEMENT default (family)*>
128 <!ELEMENT family (#PCDATA)>
129 <!ATTLIST family xml:space (default|preserve) 'preserve'>
130
131 <!ENTITY % expr 'int|double|string|matrix|bool|charset|langset
132 |name|const
133 |or|and|eq|not_eq|less|less_eq|more|more_eq|contains|not_contains
134 |plus|minus|times|divide|not|if|floor|ceil|round|trunc'>
135
136 <!--
137 Match and edit patterns.
138
139 If 'target' is 'pattern', execute the match before selecting a font.
140 if 'target' is 'font', execute the match on the result of a font
141 selection.
142 -->
143 <!ELEMENT match (test|edit)+>
144 <!ATTLIST match
145 target (pattern|font|scan) "pattern">
146
147 <!--
148 Match a field in a pattern
149
150 if 'qual' is 'any', then the match succeeds if any value in the field matches.
151 if 'qual' is 'all', then the match succeeds only if all values match.
152 if 'qual' is 'first', then the match succeeds only if the first value matches.
153 if 'qual' is 'not_first', then the match succeeds only if any value other than
154 the first matches.
155 For match elements with target=font, if test 'target' is 'pattern',
156 then the test is applied to the pattern used in matching rather than
157 to the resulting font.
158
159 Match elements with target=scan are applied as fonts are scanned.
160 They edit the pattern generated from the scanned font and affect
161 what the fontconfig database contains.
162 -->
163 <!ELEMENT test (%expr;)*>
164 <!ATTLIST test
165 qual (any|all|first|not_first) "any"
166 name CDATA #REQUIRED
167 target (pattern|font|default) "default"
168 ignore-blanks (true|false) "false"
169 compare (eq|not_eq|less|less_eq|more|more_eq|contains|not_contains) "eq">
170
171 <!--
172 Edit a field in a pattern
173
174 The enclosed values are used together to edit the list of values
175 associated with 'name'.
176
177 If 'name' matches one of those used in a test element for this match element:
178 if 'mode' is 'assign', replace the matched value.
179 if 'mode' is 'assign_replace', replace all of the values
180 if 'mode' is 'prepend', insert before the matched value
181 if 'mode' is 'append', insert after the matched value
182 if 'mode' is 'prepend_first', insert before all of the values
183 if 'mode' is 'append_last', insert after all of the values
184 If 'name' doesn't match any of those used in a test element:
185 if 'mode' is 'assign' or 'assign_replace, replace all of the values
186 if 'mode' is 'prepend' or 'prepend_first', insert before all of the values
187 if 'mode' is 'append' or 'append_last', insert after all of the values
188 -->
189 <!ELEMENT edit (%expr;)*>
190 <!ATTLIST edit
191 name CDATA #REQUIRED
192 mode (assign|assign_replace|prepend|append|prepend_first|append_last|delete|delete_all) "assign"
193 binding (weak|strong|same) "weak">
194
195 <!--
196 Elements of expressions follow
197 -->
198 <!ELEMENT int (#PCDATA)>
199 <!ATTLIST int xml:space (default|preserve) 'preserve'>
200 <!ELEMENT double (#PCDATA)>
201 <!ATTLIST double xml:space (default|preserve) 'preserve'>
202 <!ELEMENT string (#PCDATA)>
203 <!ATTLIST string xml:space (default|preserve) 'preserve'>
204 <!ELEMENT matrix ((%expr;), (%expr;), (%expr;), (%expr;))>
205 <!ELEMENT bool (#PCDATA)>
206 <!ELEMENT charset (int|range)*>
207 <!ELEMENT range (int,int)>
208 <!ELEMENT langset (string)*>
209 <!ELEMENT name (#PCDATA)>
210 <!ATTLIST name xml:space (default|preserve) 'preserve'
211 target (default|font|pattern) 'default'>
212 <!ELEMENT const (#PCDATA)>
213 <!ATTLIST const xml:space (default|preserve) 'preserve'>
214 <!ELEMENT or (%expr;)*>
215 <!ELEMENT and (%expr;)*>
216 <!ELEMENT eq ((%expr;), (%expr;))>
217 <!ELEMENT not_eq ((%expr;), (%expr;))>
218 <!ELEMENT less ((%expr;), (%expr;))>
219 <!ELEMENT less_eq ((%expr;), (%expr;))>
220 <!ELEMENT more ((%expr;), (%expr;))>
221 <!ELEMENT more_eq ((%expr;), (%expr;))>
222 <!ELEMENT contains ((%expr;), (%expr;))>
223 <!ELEMENT not_contains ((%expr;), (%expr;))>
224 <!ELEMENT plus (%expr;)*>
225 <!ELEMENT minus (%expr;)*>
226 <!ELEMENT times (%expr;)*>
227 <!ELEMENT divide (%expr;)*>
228 <!ELEMENT not (%expr;)>
229 <!ELEMENT if ((%expr;), (%expr;), (%expr;))>
230 <!ELEMENT floor (%expr;)>
231 <!ELEMENT ceil (%expr;)>
232 <!ELEMENT round (%expr;)>
233 <!ELEMENT trunc (%expr;)>