<?xml version="1.0" encoding="UTF-8" ?> <!-- -*- xml -*- vim:set ft=xml sw=2 et:

  Updated 121108 Peter G. <pg_freesw {at} freesw.for.sabi.co.UK>
-->
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>
  <dir>~/.fonts</dir>

  <cachedir>~/.fontconfig</cachedir>
  <cachedir>/var/cache/fontconfig</cachedir>

  <!-- Modify the query pattern -->

  <!-- Turn deprecated 'mono' alias into 'monospace' -->
  <match target="pattern">
    <test name="family"><string>mono</string></test>

    <edit name="family" mode="assign"><string>monospace</string></edit>
  </match>

  <!-- Turn alternate 'sans serif' alias into 'sans-serif' -->
  <match target="pattern">
    <test name="family"><string>sans serif</string></test>

    <edit name="family" mode="assign"><string>sans-serif</string></edit>
  </match>

  <!-- Turn deprecated 'sans' alias into 'sans-serif' -->
  <match target="pattern">
    <test name="family"><string>sans</string></test>

    <edit name="family" mode="assign"><string>sans-serif</string></edit>
  </match>

  <!--
    Some Asian fonts misadvertise themselves as monospaced when
    in fact they are dual-spaced (half and full). This makes
    FreeType very confused as it forces all widths to match.
    Undo this magic by disabling the width forcing code
  -->

  <match target="font">
    <test name="family" compare="eq"><string>GulimChe</string></test>
    <edit name="globaladvance"><bool>false</bool></edit>
  </match>
  <match target="font">
    <test name="family" compare="eq"><string>DotumChe</string></test>
    <edit name="globaladvance"><bool>false</bool></edit>
  </match>
  <match target="font">
    <test name="family" compare="eq"><string>BatangChe</string></test>
    <edit name="globaladvance"><bool>false</bool></edit>
  </match>
  <match target="font">
    <test name="family" compare="eq"><string>GungshuChe</string></test>
    <edit name="globaladvance"><bool>false</bool></edit>
  </match>

  <include ignore_missing="yes">local.conf</include>
  <include ignore_missing="yes">alias.conf</include>
  <include ignore_missing="yes">~/.fonts.conf</include>

  <!-- Artificial oblique for fonts without an italic or oblique version -->

  <match target="font">
    <!--
     1) check to see if the selected font is roman
     2) check to see if the pattern requested non-roman
    -->
    <test target="font" name="slant" compare="eq"><const>roman</const></test>
    <test target="pattern" name="slant" compare="not_eq"><const>roman</const></test>

    <!--
     3) multiply the matrix to slant the font
     4) pretend the font is oblique now
     5) disable embedded bitmaps for artificial oblique
    -->
    <edit name="matrix" mode="assign">
      <times>
	<name>matrix</name>
	<matrix><double>1</double><double>0.2</double>
	  <double>0</double><double>1</double>
	</matrix>
      </times>
    </edit>
    <edit name="slant" mode="assign"><const>oblique</const></edit>
    <edit name="embeddedbitmap" mode="assign"><bool>false</bool></edit>
  </match>

  <!-- Synthetic emboldening for fonts that do not have bold face available -->

  <match target="font">
    <!--
     1) check to see if the selected font is just regular
     2) check to see if the pattern requested bold
    -->
    <test target="font" name="weight" compare="less_eq"><const>medium</const></test>
    <test target="pattern" name="weight" compare="more"><const>medium</const></test>

    <!--
     3) set the embolden flag
        needed for applications using cairo, e.g. gucharmap, gedit, ...
     4) set weight to bold
        needed for applications using Xft directly, e.g. Firefox, ...
    -->
    <edit name="embolden" mode="assign"><bool>true</bool></edit>
    <edit name="weight" mode="assign"><const>bold</const></edit>
  </match>

  <!-- Accept or reject just scalable or bitmap fonts -->
<!--
  <selectfont>
    <acceptfont>
      <pattern><patelt name="scalable"><bool>true</bool></patelt></pattern>
    </acceptfont>
  </selectfont>

  <selectfont>
    <rejectfont>
      <pattern><patelt name="scalable"><bool>false</bool></patelt></pattern>
    </rejectfont>
  </selectfont>
-->

  <config>
    <!-- Rescan configuration every 30 seconds when 'FcFontSetList' is called -->
    <rescan><int>30</int></rescan>

    <!--
      These are the default Unicode chars that are expected to be blank
      in fonts. All other blank chars are assumed to be broken and won't
      appear in the resulting charsets
    -->
    <blank>
      <int>0x0020</int>	<!-- SPACE -->
      <int>0x00A0</int>	<!-- NO-BREAK SPACE -->
      <int>0x00AD</int>	<!-- SOFT HYPHEN -->
      <int>0x034F</int>	<!-- COMBINING GRAPHEME JOINER -->
      <int>0x0600</int>	<!-- ARABIC NUMBER SIGN -->
      <int>0x0601</int>	<!-- ARABIC SIGN SANAH -->
      <int>0x0602</int>	<!-- ARABIC FOOTNOTE MARKER -->
      <int>0x0603</int>	<!-- ARABIC SIGN SAFHA -->
      <int>0x06DD</int>	<!-- ARABIC END OF AYAH -->
      <int>0x070F</int>	<!-- SYRIAC ABBREVIATION MARK -->
      <int>0x115F</int>	<!-- HANGUL CHOSEONG FILLER -->
      <int>0x1160</int>	<!-- HANGUL JUNGSEONG FILLER -->
      <int>0x1680</int>	<!-- OGHAM SPACE MARK -->
      <int>0x17B4</int>	<!-- KHMER VOWEL INHERENT AQ -->
      <int>0x17B5</int>	<!-- KHMER VOWEL INHERENT AA -->
      <int>0x180E</int>	<!-- MONGOLIAN VOWEL SEPARATOR -->
      <int>0x2000</int>	<!-- EN QUAD -->
      <int>0x2001</int>	<!-- EM QUAD -->
      <int>0x2002</int>	<!-- EN SPACE -->
      <int>0x2003</int>	<!-- EM SPACE -->
      <int>0x2004</int>	<!-- THREE-PER-EM SPACE -->
      <int>0x2005</int>	<!-- FOUR-PER-EM SPACE -->
      <int>0x2006</int>	<!-- SIX-PER-EM SPACE -->
      <int>0x2007</int>	<!-- FIGURE SPACE -->
      <int>0x2008</int>	<!-- PUNCTUATION SPACE -->
      <int>0x2009</int>	<!-- THIN SPACE -->
      <int>0x200A</int>	<!-- HAIR SPACE -->
      <int>0x200B</int>	<!-- ZERO WIDTH SPACE -->
      <int>0x200C</int>	<!-- ZERO WIDTH NON-JOINER -->
      <int>0x200D</int>	<!-- ZERO WIDTH JOINER -->
      <int>0x200E</int>	<!-- LEFT-TO-RIGHT MARK -->
      <int>0x200F</int>	<!-- RIGHT-TO-LEFT MARK -->
      <int>0x2028</int>	<!-- LINE SEPARATOR -->
      <int>0x2029</int>	<!-- PARAGRAPH SEPARATOR -->
      <int>0x202A</int>	<!-- LEFT-TO-RIGHT EMBEDDING -->
      <int>0x202B</int>	<!-- RIGHT-TO-LEFT EMBEDDING -->
      <int>0x202C</int>	<!-- POP DIRECTIONAL FORMATTING -->
      <int>0x202D</int>	<!-- LEFT-TO-RIGHT OVERRIDE -->
      <int>0x202E</int>	<!-- RIGHT-TO-LEFT OVERRIDE -->
      <int>0x202F</int>	<!-- NARROW NO-BREAK SPACE -->
      <int>0x205F</int>	<!-- MEDIUM MATHEMATICAL SPACE -->
      <int>0x2060</int>	<!-- WORD JOINER -->
      <int>0x2061</int>	<!-- FUNCTION APPLICATION -->
      <int>0x2062</int>	<!-- INVISIBLE TIMES -->
      <int>0x2063</int>	<!-- INVISIBLE SEPARATOR -->
      <int>0x206A</int>	<!-- INHIBIT SYMMETRIC SWAPPING -->
      <int>0x206B</int>	<!-- ACTIVATE SYMMETRIC SWAPPING -->
      <int>0x206C</int>	<!-- INHIBIT ARABIC FORM SHAPING -->
      <int>0x206D</int>	<!-- ACTIVATE ARABIC FORM SHAPING -->
      <int>0x206E</int>	<!-- NATIONAL DIGIT SHAPES -->
      <int>0x206F</int>	<!-- NOMINAL DIGIT SHAPES -->
      <int>0x3000</int>	<!-- IDEOGRAPHIC SPACE -->
      <int>0x3164</int>	<!-- HANGUL FILLER -->
      <int>0xFEFF</int>	<!-- ZERO WIDTH NO-BREAK SPACE -->
      <int>0xFFA0</int>	<!-- HALFWIDTH HANGUL FILLER -->
      <int>0xFFF9</int>	<!-- INTERLINEAR ANNOTATION ANCHOR -->
      <int>0xFFFA</int>	<!-- INTERLINEAR ANNOTATION SEPARATOR -->
      <int>0xFFFB</int>	<!-- INTERLINEAR ANNOTATION TERMINATOR -->
    </blank>
  </config>
</fontconfig>
