home *** CD-ROM | disk | FTP | other *** search
/ chilidog.highland.cc.ks.us / chilidog.highland.cc.ks.us.zip / chilidog.highland.cc.ks.us / backup / bradford.20120521.etc.tar.gz / bradford.20120521.etc.tar / etc / fonts / fonts.dtd < prev    next >
Text File  |  2006-06-09  |  6KB  |  213 lines

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