<!-- This is the Document Type Definition for font configuration files -->
<!ELEMENT fontconfig (dir |
cache |
+ cachedir |
include |
config |
selectfont |
the set of valid Unicode chars. This idea
was borrowed from Mozilla
-->
-<!ELEMENT blank (int)*>
+<!ELEMENT blank (int|range)*>
<!--
Aliases are just a special case for multiple match elements
<!ELEMENT pattern (patelt)*>
-<!ELEMENT patelt (constant)*>
+<!ENTITY % constant 'int|double|string|matrix|bool|charset|langset|const'>
+
+<!ELEMENT patelt (%constant;)*>
<!ATTLIST patelt
name CDATA #REQUIRED>
-<!ELEMENT constant (int|double|string|matrix|bool|charset|const)>
-
<!ELEMENT alias (family*, prefer?, accept?, default?)>
+<!ATTLIST alias
+ binding (weak|strong|same) "weak">
<!ELEMENT prefer (family)*>
<!ELEMENT accept (family)*>
<!ELEMENT default (family)*>
<!ELEMENT family (#PCDATA)>
<!ATTLIST family xml:space (default|preserve) 'preserve'>
-<!ENTITY % expr 'int|double|string|matrix|bool|charset
+<!ENTITY % expr 'int|double|string|matrix|bool|charset|langset
|name|const
|or|and|eq|not_eq|less|less_eq|more|more_eq|contains|not_contains
|plus|minus|times|divide|not|if|floor|ceil|round|trunc'>
-->
<!ELEMENT match (test*, edit*)>
<!ATTLIST match
- target (pattern|font) "pattern">
+ target (pattern|font|scan) "pattern">
<!--
Match a field in a pattern
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.
+
+ Match elements with target=scan are applied as fonts are scanned.
+ They edit the pattern generated from the scanned font and affect
+ what the fontconfig database contains.
-->
<!ELEMENT test (%expr;)*>
<!ATTLIST test
<!ATTLIST string xml:space (default|preserve) 'preserve'>
<!ELEMENT matrix (double,double,double,double)>
<!ELEMENT bool (#PCDATA)>
-<!ELEMENT charset (#PCDATA)>
-<!ATTLIST charset xml:space (default|preserve) 'preserve'>
+<!ELEMENT charset (int|range)*>
+<!ELEMENT range (int,int)>
+<!ELEMENT langset (string)*>
<!ELEMENT name (#PCDATA)>
<!ATTLIST name xml:space (default|preserve) 'preserve'>
<!ELEMENT const (#PCDATA)>