Crud Factory Fontconfig

Differences from Fontconfig:

    * Property priority order can be set in XML, for example:


      The default duplicates the hardcoded settings of
      Fontconfig 2.8:


    * Preferred family/style and WWS family/style are kept distinct
      from the "normal" family/style and each other. For
      TrueType/OpenType fonts, the preferred names and/or WWS names
      need not be explicitly present in the font; Crud Factory
      Fontconfig will use fallback values. Thus, very often, the
      "normal", "preferred", and "WWS" names are the same.

      By default one works with the "normal" family/style. To work
      with WWS family/style instead, try

          <match target="scan">
              <test name="wwsfamily" compare="not_eq" target="font"><string></string></test>
              <edit mode="assign" name="family"><name>wwsfamily</name></edit>
              <test name="wwsstyle" compare="not_eq" target="font"><string></string></test>
              <edit mode="assign" name="style"><name>wwsstyle</name></edit>

      This will cause family/style to be replaced with WWS
      family/style at scan time. For almost all current fonts (in the
      year 2010) this won't make any difference. What would make a
      difference is to use the preferred family/style instead of the
      WWS values; unfortunately GIMP, Inkscape, and probably many
      other programs would end up severely broken, because they make
      assumptions about font names that do not apply to preferred
      names. Indeed, the frequently used free software library, Pango,
      employs an abstract model of fonts that, if not augmented,
      is incompatible with preferred names.

      ( Fontconfig's font matcher not only employs
       preferred names, thus breaking all Pango-based programs, but
       freely mixes preferred family with "normal" style, WWS style
       with preferred family, and so on. Choosing fonts from large,
       complex families becomes like the spin of a roulette wheel.)