annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/share/xml/fontconfig/fonts.dtd @ 69:33d812a61356

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