Skip to content

Instantly share code, notes, and snippets.

@bsalex
Forked from dcrystalj/.fonts.conf
Created March 19, 2016 21:12
Show Gist options
  • Save bsalex/32c4ba81a8844a34811d to your computer and use it in GitHub Desktop.
Save bsalex/32c4ba81a8844a34811d to your computer and use it in GitHub Desktop.

Revisions

  1. @dcrystalj dcrystalj revised this gist Jan 7, 2016. 1 changed file with 12 additions and 7 deletions.
    19 changes: 12 additions & 7 deletions .fonts.conf
    Original file line number Diff line number Diff line change
    @@ -82,10 +82,15 @@
    FIXME: is this correct?
    -->
    <match target="font">
    <edit name="antialias" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <test qual="any" name="matrix" compare="not_eq">
    <!-- <double>0</double> -->
    <matrix>0</matrix>
    </test>

    <edit name="antialias" mode="assign">
    <bool>true</bool>
    </edit>
    </match>

    <!--
    Set sub-pixel order if not detected.
    @@ -1089,7 +1094,8 @@
    <!-- FIXME: dirty_hack(tm) - fontconfig reports syntax errors -->
    <match target="font">
    <test qual="any" name="matrix" compare="not_eq">
    <double>0</double>
    <!-- <double>0</double> -->
    <matrix>0</matrix>
    </test>
    <!-- another approach - no errors but freezes Firefox 1.5 -->
    <!--
    @@ -2034,5 +2040,4 @@
    </match>
    <!-- Hindi (hi) ends -->

    </fontconfig>

    </fontconfig>
  2. @odony odony revised this gist Aug 7, 2013. 1 changed file with 639 additions and 143 deletions.
    782 changes: 639 additions & 143 deletions .fonts.conf
    Original file line number Diff line number Diff line change
    @@ -179,9 +179,6 @@

    <test qual="any" name="family" compare="eq">
    <string>Franklin Gothic Medium</string>
    <string>Frutiger Linotype</string>
    <!-- Lucida Sans Unicode has no italic and uses artificial oblique -->
    <string>Lucida Sans Unicode</string>
    </test>

    <test qual="any" name="pixelsize" compare="less_eq">
    @@ -201,6 +198,52 @@
    </edit>

    </match>
    <match target="font">

    <test qual="any" name="family" compare="eq">
    <string>Frutiger Linotype</string>
    </test>

    <test qual="any" name="pixelsize" compare="less_eq">
    <double>13.4</double>
    </test>

    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>

    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>

    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>

    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <!-- Lucida Sans Unicode has no italic and uses artificial oblique -->
    <string>Lucida Sans Unicode</string>
    </test>

    <test qual="any" name="pixelsize" compare="less_eq">
    <double>13.4</double>
    </test>

    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>

    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>

    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>

    </match>

    <!--
    font group #2: normal roman anti-aliased above 11pt/14.7px
    @@ -236,14 +279,6 @@
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Georgia</string>
    <string>Lucida Sans</string>
    <string>Lucida Sans Typewriter</string>
    <!-- Microsoft Sans Serif has no italic and uses artificial oblique -->
    <string>Microsoft Sans Serif</string>
    <!-- Tahoma has no italic and uses artificial oblique -->
    <string>Tahoma</string>
    <string>Trebuchet MS</string>
    <string>Verdana</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>16.1</double>
    @@ -259,23 +294,124 @@
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Lucida Sans</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>16.1</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>

    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Lucida Sans Typewriter</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>16.1</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>

    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <!-- Microsoft Sans Serif has no italic and uses artificial oblique -->
    <string>Microsoft Sans Serif</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>16.1</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>

    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <!-- Tahoma has no italic and uses artificial oblique -->
    <string>Tahoma</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>16.1</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>

    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Trebuchet MS</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>16.1</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>

    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Verdana</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>16.1</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>

    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>


    <!--
    font group #4: normal roman anti-aliased above 13pt/17.4px
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Arial</string>
    <string>Arial Narrow</string>
    <string>Berling Antiqua</string>
    <string>Book Antiqua</string>
    <string>Bookman Old Style</string>
    <string>Garamond</string>
    <!-- Lucida Console has no italic and uses artificial oblique -->
    <string>Lucida Console</string>
    <string>Palatino Linotype</string>
    <string>SylfaenARM</string>
    <string>Times New Roman</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>17.4</double>
    @@ -290,113 +426,299 @@
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Arial Narrow</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>17.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Berling Antiqua</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>17.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Book Antiqua</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>17.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Bookman Old Style</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>17.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Garamond</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>17.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <!-- Lucida Console has no italic and uses artificial oblique -->
    <string>Lucida Console</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>17.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Palatino Linotype</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>17.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>SylfaenARM</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>17.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Times New Roman</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>17.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>

    <!--
    font group #5: normal roman anti-aliased above 16pt/21.4px
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Century Gothic</string>
    <string>Kartika</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>21.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <test qual="any" name="family" compare="eq">
    <string>Century Gothic</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>21.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Kartika</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>21.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>

    <!--
    font group #6: normal roman anti-aliased above 17pt/23px
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Vrinda</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>23</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    <test qual="any" name="family" compare="eq">
    <string>Vrinda</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>23</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>

    <!--
    font group #7: normal roman anti-aliased above 22pt/29.4px
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Courier New</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>29.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    <test qual="any" name="family" compare="eq">
    <string>Courier New</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>29.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>

    <!--
    font group #8: bold roman anti-aliased above 9pt/12px
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Georgia</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>12</double>
    </test>
    <test qual="any" name="weight" compare="more">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    <test qual="any" name="family" compare="eq">
    <string>Georgia</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>12</double>
    </test>
    <test qual="any" name="weight" compare="more">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>

    <!--
    font group #9: bold roman anti-aliased above 10pt/13.4px
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Tahoma</string>
    <string>Verdana</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>13.4</double>
    </test>
    <test qual="any" name="weight" compare="more">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <test qual="any" name="family" compare="eq">
    <string>Tahoma</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>13.4</double>
    </test>
    <test qual="any" name="weight" compare="more">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Verdana</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>13.4</double>
    </test>
    <test qual="any" name="weight" compare="more">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>

    <!--
    font group #10: bold roman anti-aliased above 12pt/16px
    @@ -444,31 +766,149 @@
    font group #11: hinted via Auto-Hinter
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <test name="family" compare="eq">
    <string>Bitstream Charter</string>
    <string>Courier 10 Pitch</string>
    <string>DejaVu Sans Condensed</string>
    <string>DejaVu Serif Condensed</string>
    <string>FreeMono</string>
    <string>FreeSans</string>
    <string>FreeSerif</string>
    <string>Luxi Mono</string>
    <string>Luxi Sans</string>
    <string>Luxi Serif</string>
    <string>MgOpen Canonica</string>
    <string>MgOpen Cosmetica</string>
    <string>MgOpen Modata</string>
    <string>MgOpen Moderna</string>
    <string>URW Bookman L</string>
    <string>URW Chancery L</string>
    <string>URW Gothic L</string>
    <string>URW Palladio L</string>
    </test>

    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>Courier 10 Pitch</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>DejaVu Sans Condensed</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>DejaVu Serif Condensed</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>FreeMono</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>FreeSans</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>FreeSerif</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>Luxi Mono</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>Luxi Sans</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>Luxi Serif</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>MgOpen Canonica</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>MgOpen Cosmetica</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>MgOpen Modata</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>MgOpen Moderna</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>URW Bookman L</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>URW Chancery L</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>URW Gothic L</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test name="family" compare="eq">
    <string>URW Palladio L</string>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>

    <!--
    font group #12: normal italic hinted via Auto-Hinter at 9-10pt
    @@ -523,24 +963,50 @@
    font group #14: normal italic hinted via Auto-Hinter at all sizes
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <!-- 10, 11, 12 -->
    <string>Frutiger Linotype</string>
    <!-- 8-9: 'z', '2'; 10-15, 17, 19: 'z' -->
    <string>Times New Roman</string>
    <!-- 9-10: 'N' 'Q'; 12: 'w', 'C', 'D', 'O', 'Q', 'R', '2', '9', '0' -->
    <string>Verdana</string>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="not_eq">
    <const>roman</const>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <test qual="any" name="family" compare="eq">
    <!-- 10, 11, 12 -->
    <string>Frutiger Linotype</string>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="not_eq">
    <const>roman</const>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <!-- 8-9: 'z', '2'; 10-15, 17, 19: 'z' -->
    <string>Times New Roman</string>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="not_eq">
    <const>roman</const>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <!-- 9-10: 'N' 'Q'; 12: 'w', 'C', 'D', 'O', 'Q', 'R', '2', '9', '0' -->
    <string>Verdana</string>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="not_eq">
    <const>roman</const>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>

    <!--
    Set minimum allowed size to avoid illegible fonts.
    @@ -623,7 +1089,7 @@
    <!-- FIXME: dirty_hack(tm) - fontconfig reports syntax errors -->
    <match target="font">
    <test qual="any" name="matrix" compare="not_eq">
    <double>0</double>
    <double>0</double>
    </test>
    <!-- another approach - no errors but freezes Firefox 1.5 -->
    <!--
    @@ -1305,7 +1771,6 @@
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Droid Sans</string>
    <string>Droid Sans Mono</string>
    </test>
    <edit mode="assign" name="autohint">
    <bool>false</bool>
    @@ -1314,7 +1779,17 @@
    <const>hintfull</const>
    </edit>
    </match>

    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Droid Sans Mono</string>
    </test>
    <edit mode="assign" name="autohint">
    <bool>false</bool>
    </edit>
    <edit mode="assign" name="hintstyle">
    <const>hintfull</const>
    </edit>
    </match>

    <match target="font">
    <test qual="any" name="family" compare="eq">
    @@ -1436,13 +1911,21 @@
    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Times New Roman</string>
    <string>serif</string>
    </test>

    <edit name="family" mode="prepend" binding="same">
    <string>Noto Serif</string>
    </edit>
    </match>
    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>serif</string>
    </test>

    <edit name="family" mode="prepend" binding="same">
    <string>Noto Serif</string>
    </edit>
    </match>


    <!-- lucida grande bold, with hintfull, becomes stiff looking, with 1 part of a letter more fat than the other, therefor hintslight-->
    @@ -1514,7 +1997,6 @@
    <match target="font">
    <test compare="eq" name="family" qual="any">
    <string>gargi</string>
    <string>Lohit Hindi</string>
    </test>
    <edit mode="assign" name="antialias">
    <bool>true</bool>
    @@ -1526,6 +2008,20 @@
    <const>hintslight</const>
    </edit>
    </match>
    <match target="font">
    <test compare="eq" name="family" qual="any">
    <string>Lohit Hindi</string>
    </test>
    <edit mode="assign" name="antialias">
    <bool>true</bool>
    </edit>
    <edit mode="assign" name="autohint">
    <bool>true</bool>
    </edit>
    <edit mode="assign" name="hintstyle">
    <const>hintslight</const>
    </edit>
    </match>

    <!-- Replace mangal with lohit hindi, mangal is a stupid font -->
    <match target="pattern">
    @@ -1539,4 +2035,4 @@
    <!-- Hindi (hi) ends -->

    </fontconfig>


  3. @silv3rm00n silv3rm00n created this gist May 17, 2013.
    1,542 changes: 1,542 additions & 0 deletions .fonts.conf
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,1542 @@
    <?xml version="1.0"?>
    <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
    <fontconfig>

    <!--
    Documented at
    http://linux.die.net/man/5/fonts-conf
    To check font mapping run the command at terminal
    $ fc-match 'helvetica Neue'
    WARNING :: Droid Sans font with autohinter becomes bad, without autohinter looks great, but becomes smallish, cant help
    even the smallish is so good, that i am using it on desktop
    but cannot be used as a substitution for arial, since 12px (which is very common on websites) becomes small as if tahoma 10px
    Noto sans does better in this case, can be used as arial substitution without loss of size
    noto sans is slightly fatter than droid sans
    Open sans is much fat, and open sans bold looks bad, hence we choose noto sans as the replacement for arial
    Download the following fonts
    Droid fonts whole sets
    Download from google web fonts
    open sans all styles
    noto sans all styles
    noto serif all styles
    -->

    <!--
    .fonts.conf
    release 6.3.23
    Licensed under GNU GPL
    ================================
    LCD optimized 96 dpi
    "Sharp'N'Clear" font settings
    with emphasis on 'msttcorefonts'
    tested on Ubuntu GNU/Linux 5.10
    ================================
    by Obi Bok
    Gmail: obibok
    http://linuxtuneup.blogspot.com
    ================================
    Why was this conceived?
    - some font families look better hinted by Byte Code Interpreter (BCI)
    while other fonts look better hinted by Auto-Hinter
    - hinting type affects italic and bold fonts differently
    - antialiasing needs to be adjusted according to font families and sizes
    Essentially, there is no one single rule that works for all fonts.
    NOTE:
    - Verdana @ 8pt doesn't render '2' and '6' right
    - Arial shows 'Z' distorted in Firefox 1.5
    -->

    <!--
    Make font sizes match the dpi set in Xorg.
    Increase or decrease this value if fonts are too small or too large
    for your screen resolution.
    FIXME: this only affects QT-based apps?
    -->
    <match target="pattern">
    <edit name="dpi" mode="assign">
    <double>96</double>
    </edit>
    </match>

    <!--
    Enable anti-aliasing.
    This only works for outline and scalable fonts.
    Bitmap and PostScript fonts do not get anti-aliased.
    FIXME: is this correct?
    -->
    <match target="font">
    <edit name="antialias" mode="assign">
    <bool>true</bool>
    </edit>
    </match>

    <!--
    Set sub-pixel order if not detected.
    "X knows the sub pixel order already, and if this is enabled as well,
    Freetype produces some very strange results. However, if you do still
    have problems, consider (...) 'rgb' (the standard for LCD monitors),
    'bgr' (unusual), 'vrgb' (vertical rgb, if you have a monitor that
    has been rotated by 90 degrees[1]), 'vgbr' (as vrgb, but very rare)."
    <http://www.linuxquestions.org/linux/answers/Hardware/\
    LCD_TFT_Monitor_Configuration_in_X_Org>
    Find out your LCD's sub-pixel order:
    <http://grc.com/image/cleartype2c.gif>
    -->
    <match target="font">
    <test qual="all" name="rgba" compare="eq">
    <const>unknown</const>
    </test>
    <edit name="rgba" mode="assign">
    <const>rgb</const>
    </edit>
    </match>

    <!--
    Sub-pixel hinting via BCI enabled by default if compiled in.
    "Whole-pixel anti-aliasing does not represent a useful solution for
    improving small point-size type. (...) By 'borrowing' sub-pixels from
    adjacent whole pixels, we can fine-tune the placement and width of typeface
    features with three times more horizontal accuracy then ever before!"
    <http://grc.com/ctwhat.htm>
    -->

    <!--
    Disable anti-aliasing for select fonts based on size and style.
    | font | WinXP | Linux |
    =========================================
    Andale Mono IPA 14 13
    Arial 12 13
    Arial Black 12 -
    Arial Narrow 14 13
    Berling Antiqua 12 13
    Book Antiqua 12 13
    Bookdings 0 ?
    Bookman Old Style 22 13
    Century Gothic 16 16
    Comic Sans MS 11 9/11
    Courier New 26 22
    Franklin Gothic Medium 12 10/12
    Frutiger Linotype 12 10/12
    Garamond 18 13/19
    Georgia 12 12/13
    Impact 16 0
    Kartika 12 16
    Lucida Console 12 13
    Lucida Sans Typewriter 12 12
    Lucida Sans Unicode 12 10/13
    Marlett ? ?
    Microsoft Sans Serif 12 12/13
    Palatino Linotype 12 13
    SylfaenARM - 13
    Symbol 12 ?
    Tahoma 12 12/13
    Times New Roman 12 13
    Trebuchet MS 12 12
    Verdana 12 12
    Vrinda 12 17
    Webdings 20 ?
    Wingdings 20 ?
    =========================================
    "The relationship of pixels to points depends on the number of pixels
    per inch, which is typically some 'standard' value corresponding to
    default screen fonts. For example, MS Windows has two standard sets of
    screen fonts initially designed for IBM display systems: 'small' (VGA)
    and 'large' (8514/A). 'Small' fonts are 96 pixels per inch, 'large' are
    120. Macintosh systems render type at a nominal 72 pixels per inch, i.e.
    one pixel = one point. Some display systems using scalable screen fonts
    allow fine tuning of pixels per inch to suit user preferences."
    <http://www.hpaa.com/css1/pxnpts.asp>
    X pt * 96 dpi / 72 dpi = Y px
    -->

    <!--
    font group #1: normal roman anti-aliased above 10pt/13.4px
    -->
    <match target="font">

    <test qual="any" name="family" compare="eq">
    <string>Franklin Gothic Medium</string>
    <string>Frutiger Linotype</string>
    <!-- Lucida Sans Unicode has no italic and uses artificial oblique -->
    <string>Lucida Sans Unicode</string>
    </test>

    <test qual="any" name="pixelsize" compare="less_eq">
    <double>13.4</double>
    </test>

    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>

    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>

    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>

    </match>

    <!--
    font group #2: normal roman anti-aliased above 11pt/14.7px
    Must use 15px instead of 14.7px for this to work in QT-based apps
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <!-- Comic Sans MS has no italic and uses artificial oblique -->
    <string>Comic Sans MS</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>15</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>

    <!--
    font group #3: normal roman anti-aliased above 12pt/16px
    Must use at least 16.1px instead of 16px for this to work in Firefox
    Does not work in Chrome properly
    In chrome 13px evalutes to 17.4px pixelsize test, funny!
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Georgia</string>
    <string>Lucida Sans</string>
    <string>Lucida Sans Typewriter</string>
    <!-- Microsoft Sans Serif has no italic and uses artificial oblique -->
    <string>Microsoft Sans Serif</string>
    <!-- Tahoma has no italic and uses artificial oblique -->
    <string>Tahoma</string>
    <string>Trebuchet MS</string>
    <string>Verdana</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>16.1</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>

    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>

    <!--
    font group #4: normal roman anti-aliased above 13pt/17.4px
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Arial</string>
    <string>Arial Narrow</string>
    <string>Berling Antiqua</string>
    <string>Book Antiqua</string>
    <string>Bookman Old Style</string>
    <string>Garamond</string>
    <!-- Lucida Console has no italic and uses artificial oblique -->
    <string>Lucida Console</string>
    <string>Palatino Linotype</string>
    <string>SylfaenARM</string>
    <string>Times New Roman</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>17.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>

    <!--
    font group #5: normal roman anti-aliased above 16pt/21.4px
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Century Gothic</string>
    <string>Kartika</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>21.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>

    <!--
    font group #6: normal roman anti-aliased above 17pt/23px
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Vrinda</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>23</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>

    <!--
    font group #7: normal roman anti-aliased above 22pt/29.4px
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Courier New</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>29.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>

    <!--
    font group #8: bold roman anti-aliased above 9pt/12px
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Georgia</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>12</double>
    </test>
    <test qual="any" name="weight" compare="more">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>

    <!--
    font group #9: bold roman anti-aliased above 10pt/13.4px
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Tahoma</string>
    <string>Verdana</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>13.4</double>
    </test>
    <test qual="any" name="weight" compare="more">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>

    <!--
    font group #10: bold roman anti-aliased above 12pt/16px
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Courier New</string>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>16</double>
    </test>
    <test qual="any" name="weight" compare="more">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="eq">
    <const>roman</const>
    </test>
    <edit name="antialias" mode="assign">
    <bool>false</bool>
    </edit>
    </match>

    <!--
    Enable FreeType Auto-Hinter for select fonts.
    Auto-Hinter is disabled by default if Bytecode Interpreter was compiled in.
    Some Linux "native" fonts look better hinted by Auto-Hinter,
    usually in sizes 11pt-13pt; others look better hinted by BCI.
    -->

    <!--
    Set Auto-Hinter to full hinting style.
    'slight' and 'medium' hinting often produce pixel discoloration.
    hintfull for all fonts by default
    -->
    <match target="font">
    <edit name="hintstyle" mode="assign">
    <const>hintfull</const>
    </edit>
    </match>

    <!--
    font group #11: hinted via Auto-Hinter
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Bitstream Charter</string>
    <string>Courier 10 Pitch</string>
    <string>DejaVu Sans Condensed</string>
    <string>DejaVu Serif Condensed</string>
    <string>FreeMono</string>
    <string>FreeSans</string>
    <string>FreeSerif</string>
    <string>Luxi Mono</string>
    <string>Luxi Sans</string>
    <string>Luxi Serif</string>
    <string>MgOpen Canonica</string>
    <string>MgOpen Cosmetica</string>
    <string>MgOpen Modata</string>
    <string>MgOpen Moderna</string>
    <string>URW Bookman L</string>
    <string>URW Chancery L</string>
    <string>URW Gothic L</string>
    <string>URW Palladio L</string>
    </test>

    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>

    <!--
    font group #12: normal italic hinted via Auto-Hinter at 9-10pt
    Arial hinted via BCI at 9pt has distorted 'y', at 10pt - '2'
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Arial</string>
    </test>
    <test qual="any" name="pixelsize" compare="more_eq">
    <double>12</double>
    </test>
    <test qual="any" name="pixelsize" compare="less_eq">
    <double>13.4</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="not_eq">
    <const>roman</const>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>

    <!--
    font group #13: normal italic hinted via Auto-Hinter at 12pt
    This fixes distorted 'K'
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Book Antiqua</string>
    </test>
    <test qual="any" name="pixelsize" compare="eq">
    <double>16</double>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="not_eq">
    <const>roman</const>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>

    <!--
    font group #14: normal italic hinted via Auto-Hinter at all sizes
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <!-- 10, 11, 12 -->
    <string>Frutiger Linotype</string>
    <!-- 8-9: 'z', '2'; 10-15, 17, 19: 'z' -->
    <string>Times New Roman</string>
    <!-- 9-10: 'N' 'Q'; 12: 'w', 'C', 'D', 'O', 'Q', 'R', '2', '9', '0' -->
    <string>Verdana</string>
    </test>
    <test qual="any" name="weight" compare="less_eq">
    <const>medium</const>
    </test>
    <test qual="any" name="slant" compare="not_eq">
    <const>roman</const>
    </test>
    <edit name="autohint" mode="assign">
    <bool>true</bool>
    </edit>
    </match>

    <!--
    Set minimum allowed size to avoid illegible fonts.
    -->
    <!-- 7pt in QT-based apps -->
    <match target="pattern">
    <test qual="any" name="size" compare="less">
    <double>7</double>
    </test>
    <edit name="size" mode="assign">
    <double>7</double>
    </edit>
    </match>

    <!-- 9.4px (7pt) in GTK-based apps -->
    <match target="pattern">
    <test qual="any" name="pixelsize" compare="less">
    <double>9.4</double>
    </test>
    <edit name="pixelsize" mode="assign">
    <double>9.4</double>
    </edit>
    </match>

    <!--
    TODO: Create rules limiting minimum sizes for these *bold* fonts:
    Andale Mono | Andale Mono IPA
    Arial
    Arial Narrow
    Berling Antiqua
    Book Antiqua
    Bookman Old Style
    Century Gothic
    Comic Sans MS
    Courier New
    Franklin Gothic Medium
    Frutiger Linotype
    Garamond
    Georgia
    Kartika
    Lucida Console
    Lucida Sans Typewriter
    Lucida Sans Unicode
    Microsoft Sans Serif
    Palatino | Palatino Linotype
    SylfaenARM
    Tahoma
    Times New Roman
    Trebuchet MS
    Verdana
    Vrinda
    -->

    <!--
    font group #15: bold fonts no smaller than 10.7px (8pt)
    FIXME: for Firefox and other GTK-based apps?
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Arial</string>
    </test>
    <test qual="any" name="pixelsize" compare="less">
    <double>10.7</double>
    </test>
    <test qual="any" name="weight" compare="more">
    <const>medium</const>
    </test>
    <edit name="pixelsize" mode="assign">
    <double>10.7</double>
    </edit>
    </match>

    <!--
    Anti-alias fonts with "fake" styles.
    FIXME: QT only? GTK? Firefox?
    -->
    <!-- FIXME: dirty_hack(tm) - fontconfig reports syntax errors -->
    <match target="font">
    <test qual="any" name="matrix" compare="not_eq">
    <double>0</double>
    </test>
    <!-- another approach - no errors but freezes Firefox 1.5 -->
    <!--
    <match target="font">
    <test qual="any" name="matrix" compare="eq">
    <name>matrix</name>
    </test>
    -->
    <edit name="antialias" mode="assign">
    <bool>true</bool>
    </edit>
    </match>

    <!--
    Substitute unavailable and/or unwanted fonts.
    Aliases will not work if the actual fonts are installed.
    Replacing font family works in Firefox (FIXME: and other GTK-based apps?)
    QT-based apps also need font foundry replaced.
    Grouping fonts for substitution doesn't work in Firefox, so we need each
    font family replaced individually.
    -->

    <!--
    sans-serif
    "If the font still has no generic name, add sans-serif"
    /etc/fonts.conf
    Therefore, we only substitute what we need.
    -->
    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Bitstream Charter</string>
    </test>
    <edit name="family" mode="append" binding="same">
    <string>serif</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Bitstream Vera Sans</string>
    </test>
    <edit name="family" mode="append" binding="same">
    <string>sans</string>
    </edit>
    </match>


    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>DejaVu Sans</string>
    </test>
    <edit name="family" mode="append" binding="same">
    <string>sans</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>DejaVu Sans Condensed</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Arial</string>
    </edit>
    </match>

    <!--
    Dont do this, overriding freesans will cause utf fonts to be come rubbish in chrome
    -->
    <!--
    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>FreeSans</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Arial</string>
    </edit>
    </match>
    -->
    <!--
    ON web pages if font family is like this
    font-family: 'Helvetica Neue', arial, sans-serif;
    google chrome will immediately move to next font, if it does not find the first, even if there are append entries
    But firefox will take the append entry if the font does not exist :)
    -->
    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Helvetica</string>
    </test>
    <edit name="family" mode="append" binding="same">
    <string>Sans</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Helvetica Neue</string>
    </test>
    <edit name="family" mode="append" binding="same">
    <string>Sans</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Lucida</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Arial</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <!-- FIXME: may need to use "Lucida Bright" instead -->
    <string>LucidaBright</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Arial</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Lucida Bright</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Arial</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Luxi Sans</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Arial</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>MgOpen Cosmetica</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Arial</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>MgOpen Modata</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Arial</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>MgOpen Moderna</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Arial</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>System</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Arial</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>URW Gothic L</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Arial</string>
    </edit>
    </match>

    <!--
    FIXME: Verdana renders characters '2' and '6' slightly distorted
    so it will be substituted with Arial.
    EDIT Silver Moon : not replacing verdana with arial.
    hey verdana is slightly fatty, how about replacing it with open sans or noto sans
    open sans is fattier compared to droid sans
    BAH, it looks good
    Open Sans is cramped at 11px with autohint = true
    'sa' the s and a will stick badly
    '50' the 5 and 0 will stick badly
    But 12px onwards Open Sans is better than Noto Sans
    But the vote goes to noto sans for verdana replaced to maintain beauty at 11px
    Another note
    noto sans has single stroke small g , open sans has the 2 round style g
    noto sans p is thin, open sans p is better looking
    -->
    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Verdana</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Noto Sans</string>
    </edit>
    <edit name="family" mode="prepend" binding="same">
    <string>Open Sans</string>
    </edit>
    </match>

    <!--
    serif
    -->
    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Bitstream Vera Serif</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Georgia</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>DejaVu Serif</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Georgia</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>DejaVu Serif Condensed</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Georgia</string>
    </edit>
    </match>



    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Luxi Serif</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Georgia</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>MgOpen Canonica</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Georgia</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>New Century Schoolbook</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Georgia</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>New York</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Georgia</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Palatino</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Georgia</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Times</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Georgia</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>URW Bookman L</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Georgia</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>URW Palladio L</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Georgia</string>
    </edit>
    </match>

    <!--
    monospace
    -->
    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Andale Mono</string>
    </test>
    <edit name="family" mode="append" binding="same">
    <string>monospace</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Bitstream Vera Sans Mono</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Courier New</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Courier</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>monospace</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>DejaVu Sans Mono</string>
    </test>
    <edit name="family" mode="append" binding="same">
    <string>monospace</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Fixedsys</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Courier New</string>
    </edit>
    </match>



    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <!-- FIXME: Ubuntu Wiki uses "Lucida Typewriter" instead -->
    <string>LucidaTypewriter</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Courier New</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Lucida Typewriter</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Courier New</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Luxi Mono</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Courier New</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Monaco</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Courier New</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Terminal</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Courier New</string>
    </edit>
    </match>

    <!--
    cursive
    -->
    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Apple Chancery</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Comic Sans MS</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Lucida Handwriting</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Comic Sans MS</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>URW Chancery L</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Comic Sans MS</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Zapf Chancery</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Comic Sans MS</string>
    </edit>
    </match>

    <!--
    fantasy
    -->
    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Copperplate</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Impact</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Desdemona</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Impact</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Kino</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Impact</string>
    </edit>
    </match>

    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Techno</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Impact</string>
    </edit>
    </match>

    <!--
    Provide required aliases for standard names.
    -->
    <!--
    <alias>
    <family>sans-serif</family>
    <prefer>
    <family>Arial</family>
    </prefer>
    </alias>
    <alias>
    <family>serif</family>
    <prefer>
    <family>Georgia</family>
    </prefer>
    </alias>
    -->
    <!--
    <alias>
    <family>monospace</family>
    <prefer>
    <family>Courier New</family>
    </prefer>
    </alias>
    -->
    <alias>
    <family>cursive</family>
    <prefer>
    <family>Comic Sans MS</family>
    </prefer>
    </alias>

    <alias>
    <family>fantasy</family>
    <prefer>
    <family>Impact</family>
    </prefer>
    </alias>

    <!--
    Added by Silver Moon ([email protected])
    Changes focussing on Droid Sans, replacing windows old fonts like arial, courier
    and fixing some fonts like lucida grande bold, and hindi fonts
    -->

    <!--
    Replace arial fonts larger than 12px by droid sans
    Works only in firefox, not in chrome
    -->


    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Arial</string>
    </test>
    <test qual="any" name="pixelsize" compare="more">
    <double>12.0</double>
    </test>
    <edit name="family" mode="assign" binding="strong">
    <string>droid sans</string>
    </edit>
    </match>



    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Arial</string>
    </test>
    <test qual="any" name="pixelsize" compare="less">
    <double>13.0</double>
    </test>
    <edit name="family" mode="assign" binding="same">
    <string>noto sans</string>
    </edit>
    </match>


    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Arial</string>
    </test>
    <edit name="family" mode="assign" binding="same">
    <string>noto sans</string>
    </edit>
    </match>

    <!--
    Replace Georgia by Noto Serif
    -->
    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Georgia</string>
    </test>
    <edit name="family" mode="assign" binding="same">
    <string>Noto Serif</string>
    </edit>
    </match>


    <!--
    Behavioug is similar to droid sans,
    WITHOUT AUTOHINTER
    1. becomes smallish, like droid sans, very small on desktop ,
    2. DESKTOP - HIGHLY PROPORTIONATE, HIGHLY CLEAR
    2. WEBPAGES - less clearer - vertical stands become hazy
    3. slightly less STRETCHED
    WITH AUTOHINTER :
    1. very slightly STRETCHED
    2. CRYSTAL CLARITY on webpages,
    3. lesser proportionate on desktop, CLARITY KIND OF OK OK
    3. bold font ugly with hintfull, good with hintslight
    Since we are using noto sans as arial replacement, hint it fully with autohinter.
    hintslight will compromise clarity
    thought of doing this, above 12px autohint = false
    below 13px authint = true
    but autohint false leads to loss of clarity, but makes width correct
    moreover chrome does not obey pixelsize correctly
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>noto sans</string>
    </test>
    <edit mode="assign" name="autohint">
    <bool>true</bool>
    </edit>
    <edit mode="assign" name="hintstyle">
    <const>hintfull</const>
    </edit>
    </match>


    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>ubuntu</string>
    </test>
    <edit mode="assign" name="autohint">
    <bool>true</bool>
    </edit>
    <edit mode="assign" name="hintstyle">
    <const>hintfull</const>
    </edit>
    </match>

    <!--
    DROID SANS
    WITHOUT AUTOHINTER
    1.CLEARER 13px onwards
    2. 12px on webpages very small
    3. super clear at 12px
    4. 9pt desktop super clear, super PROPORTIONATE
    AUTOHINT = TRUE
    1. LESS CLEARER
    2. 'n' is cramped
    3. 9pt desktop, slightly distorted
    4. 12px webpage is normal sized, but not great as noto sans with autohint = true. but better than arial
    droid sans with autohinter, becomes more disproportionate on gnome, this is lesser with noto sans
    in browser there is not much difference between autohint true/false
    true leads to clarity loss
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Droid Sans</string>
    <string>Droid Sans Mono</string>
    </test>
    <edit mode="assign" name="autohint">
    <bool>false</bool>
    </edit>
    <edit mode="assign" name="hintstyle">
    <const>hintfull</const>
    </edit>
    </match>


    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>liberation mono</string>
    </test>
    <edit mode="assign" name="autohint">
    <bool>false</bool>
    </edit>
    <edit mode="assign" name="hintstyle">
    <const>hintmedium</const>
    </edit>
    </match>






    <!-- time for stupid tricks for 2 stupid browsers, namely firefox and chrome -->
    <!-- stupid trick for firefox
    firefox obeys pixelsize but not size
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>noto sans</string>
    </test>
    <test qual="any" name="pixelsize" compare="less">
    <double>16</double>
    </test>
    <test qual="any" name="weight" compare="more">
    <const>medium</const>
    </test>
    <edit mode="assign" name="autohint">
    <bool>true</bool>
    </edit>
    <edit mode="assign" name="hintstyle" binding="weak">
    <const>hintslight</const>
    </edit>
    </match>

    <!--
    stupid trick for chrome
    chrome obeys size, but not pixelsize below 17.4 pixel
    -->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>noto sans</string>
    </test>
    <test qual="any" name="size" compare="less">
    <double>16</double>
    </test>
    <test qual="any" name="weight" compare="more">
    <const>medium</const>
    </test>
    <edit mode="assign" name="antialias">
    <bool>true</bool>
    </edit>
    <edit mode="assign" name="autohint">
    <bool>true</bool>
    </edit>
    <edit mode="assign" name="hintstyle" binding="weak">
    <const>hintslight</const>
    </edit>
    </match>


















    <!-- use droid sans mono for monospace -->
    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>monospace</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Droid Sans Mono</string>
    </edit>
    </match>

    <!-- use droid sans mono for sans-serif -->
    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>sans-serif</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Noto Sans</string>
    </edit>
    </match>

    <!-- use droid sans mono for Courier New -->
    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Courier New</string>
    </test>
    <edit name="family" mode="prepend" binding="same">
    <string>Droid Sans Mono</string>
    </edit>
    </match>






    <!-- replace times new roman with droid serif -->
    <match target="pattern">
    <test qual="any" name="family" compare="eq">
    <string>Times New Roman</string>
    <string>serif</string>
    </test>

    <edit name="family" mode="prepend" binding="same">
    <string>Noto Serif</string>
    </edit>
    </match>


    <!-- lucida grande bold, with hintfull, becomes stiff looking, with 1 part of a letter more fat than the other, therefor hintslight-->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Lucida Grande</string>
    </test>
    <test qual="any" name="weight" compare="more">
    <const>medium</const>
    </test>
    <edit mode="assign" name="hintstyle">
    <const>hintslight</const>
    </edit>
    </match>


    <!-- lucida grande bold, with hintfull, becomes stiff looking, with 1 part of a letter more fat than the other, therefor hintslight-->
    <match target="font">
    <test qual="any" name="family" compare="eq">
    <string>Lucida Console</string>
    </test>
    <edit name="antialias" mode="assign">
    <bool>true</bool>
    </edit>
    <edit mode="assign" name="autohint">
    <bool>false</bool>
    </edit>
    <edit mode="assign" name="hintstyle">
    <const>hintfull</const>
    </edit>
    </match>

    <!--
    Open sans WITHOUT autohint, becomes fattish in chrome/firefox
    WITH autohint, becomes crytalline, very good
    but like noto sans, the bold version is not beautiful
    need to fix : TODO
    -->
    <match target="font">
    <test compare="eq" name="family" qual="any">
    <string>Open Sans</string>
    </test>
    <edit mode="assign" name="autohint">
    <bool>true</bool>
    </edit>
    <edit mode="assign" name="hintstyle">
    <const>hintfull</const>
    </edit>
    </match>




    <!--
    Styling for hindi fonts
    Hindi (hi)
    -->
    <!-- force Lohit Hindi for hindi font -->
    <match target="pattern">
    <test compare="eq" name="lang">
    <string>hi</string>
    </test>
    <edit binding="strong" mode="prepend" name="family">
    <string>Lohit Hindi</string>
    </edit>
    </match>

    <!-- do some antialiasing tweak for gargi and lohit hindi font -->
    <match target="font">
    <test compare="eq" name="family" qual="any">
    <string>gargi</string>
    <string>Lohit Hindi</string>
    </test>
    <edit mode="assign" name="antialias">
    <bool>true</bool>
    </edit>
    <edit mode="assign" name="autohint">
    <bool>true</bool>
    </edit>
    <edit mode="assign" name="hintstyle">
    <const>hintslight</const>
    </edit>
    </match>

    <!-- Replace mangal with lohit hindi, mangal is a stupid font -->
    <match target="pattern">
    <test compare="eq" name="family" qual="any">
    <string>mangal</string>
    </test>
    <edit binding="strong" mode="assign" name="family">
    <string>Lohit Hindi</string>
    </edit>
    </match>
    <!-- Hindi (hi) ends -->

    </fontconfig>