cache |
include |
config |
+ selectfont |
match |
alias)* >
-->
<!ELEMENT rescan (int)>
+<!--
+ Edit list of available fonts at startup/reload time
+ -->
+<!ELEMENT selectfont (rejectfont | acceptfont)* >
+
+<!ELEMENT rejectfont (glob | pattern)*>
+
+<!ELEMENT acceptfont (glob | pattern)*>
+
+<!ELEMENT glob (#PCDATA)>
+
+<!ELEMENT pattern (patelt)*>
+
+<!ELEMENT patelt (constant)*>
+<!ATTLIST patelt
+ name CDATA #REQUIRED>
+
+<!ELEMENT constant (int|double|string|matrix|bool|charset|const)>
<!ELEMENT alias (family*, prefer?, accept?, default?)>
<!ELEMENT prefer (family)*>
<!ENTITY % expr 'int|double|string|matrix|bool|charset
|name|const
- |or|and|eq|not_eq|less|less_eq|more|more_eq
- |plus|minus|times|divide|not|if'>
+ |or|and|eq|not_eq|less|less_eq|more|more_eq|contains|not_contains
+ |plus|minus|times|divide|not|if|floor|ceil|round|trunc'>
<!--
Match and edit patterns.
if 'qual' is 'first', then the match succeeds only if the first value matches.
if 'qual' is 'not_first', then the match succeeds only if any value other than
the first matches.
+ For match elements with target=font, if test 'target' is 'pattern',
+ then the test is applied to the pattern used in matching rather than
+ to the resulting font.
-->
<!ELEMENT test (%expr;)*>
<!ATTLIST test
qual (any|all|first|not_first) "any"
name CDATA #REQUIRED
- compare (eq|not_eq|less|less_eq|more|more_eq) "eq">
+ target (pattern|font|default) "default"
+ compare (eq|not_eq|less|less_eq|more|more_eq|contains|not_contains) "eq">
<!--
Edit a field in a pattern
<!ELEMENT edit (%expr;)*>
<!ATTLIST edit
name CDATA #REQUIRED
- mode (assign|assign_replace|prepend|append|prepend_first|append_last) "assign">
+ mode (assign|assign_replace|prepend|append|prepend_first|append_last) "assign"
+ binding (weak|strong|same) "weak">
<!--
Elements of expressions follow
<!ELEMENT string (#PCDATA)>
<!ATTLIST string xml:space (default|preserve) 'preserve'>
<!ELEMENT matrix (double,double,double,double)>
-<!ELEMENT bool (true|false)>
+<!ELEMENT bool (#PCDATA)>
<!ELEMENT charset (#PCDATA)>
<!ATTLIST charset xml:space (default|preserve) 'preserve'>
<!ELEMENT name (#PCDATA)>
<!ELEMENT less_eq ((%expr;), (%expr;))>
<!ELEMENT more ((%expr;), (%expr;))>
<!ELEMENT more_eq ((%expr;), (%expr;))>
+<!ELEMENT contains ((%expr;), (%expr;))>
+<!ELEMENT not_contains ((%expr;), (%expr;))>
<!ELEMENT plus (%expr;)*>
<!ELEMENT minus (%expr;)*>
<!ELEMENT times (%expr;)*>
<!ELEMENT divide (%expr;)*>
<!ELEMENT not (%expr;)>
<!ELEMENT if ((%expr;), (%expr;), (%expr;))>
+<!ELEMENT floor (%expr;)>
+<!ELEMENT ceil (%expr;)>
+<!ELEMENT round (%expr;)>
+<!ELEMENT trunc (%expr;)>