Now, I was having the damnest time with font rendering. I installed almost every font I could get for Feisty (for graphics design). Now, in Firefox, code snippets would be unreadable. I tried to change the Fixed font in Gnome. Then I tried to change the font in firefox’s preferences. Nothing. After a little bit of research, here is my solution:

1. Create a file ~/.fonts.conf

2. Paste:

<?xml version=”1.0″?>
<!DOCTYPE fontconfig SYSTEM “fonts.dtd”>
<fontconfig>

<!– Give all fonts light hinting and subpixel smoothing –>
<!–
<match target=”font”>
<edit mode=”assign” name=”rgba”>
<const>rgb</const>
</edit>
<edit mode=”assign” name=”hinting”>
<bool>true</bool>
</edit>
<edit mode=”assign” name=”hintstyle”>
<const>hintslight</const>
</edit>
<edit mode=”assign” name=”antialias”>
<bool>true</bool>
</edit>
</match>
–>

<!–
<match target=”font”>
<test qual=”all” name=”rgba”><const>unknown</const></test>
<edit name=”rgba” mode=”assign”><const>rgb</const></edit>
</match>
–>

<!–  Do not smooth Fixedsys  –>
<match target=”font”>
<test name=”family”>
<string>FixedsysTTF</string>
</test>
<edit name=”antialias”>
<bool>false</bool>
</edit>
</match>

<!–  Do not smooth Tahoma 8pt and under  –>
<match target=”font”>
<test name=”family”>
<string>Tahoma</string>
</test>
<test compare=”less” name=”size” qual=”any”>
<double>9</double>
</test>
<edit name=”antialias”>
<bool>false</bool>
</edit>
</match>

<!–  Do not smooth Times New Roman or Courier New for 12pt and under  –>
<match target=”font”>
<test name=”family”>
<string>Times New Roman</string>
</test>
<test compare=”less” name=”size” qual=”any”>
<double>13</double>
</test>
<edit name=”antialias”>
<bool>false</bool>
</edit>
</match>

<match target=”font”>
<test name=”family”>
<string>Courier</string>
<string>Courier New</string>
<string>Courier 10 Pitch</string>
</test>
<test compare=”less” name=”size” qual=”any”>
<double>11</double>
</test>
<edit name=”antialias”>
<bool>false</bool>
</edit>
</match>

<!– Do not autohint Courier New, Fixedsys, Tahoma, or Times New Roman –>
<match target=”font”>
<test name=”family”>
<string>Courier New</string>
<string>Times New Roman</string>
<string>Tahoma</string>
<string>FixedsysTTF</string>
</test>
<edit mode=”assign” name=”hintstyle”>
<const>hintslight</const>
</edit>
<edit mode=”assign” name=”autohint”>
<bool>false</bool>
</edit>
</match>

<match target=”pattern”>
<test qual=”any” name=”family”>
<string>Bitstream Vera Sans</string>
</test>
<edit name=”family” mode=”assign”>
<string>Arial</string>
</edit>
</match>
<match target=”pattern”>
<test qual=”any” name=”family”>
<string>Helvetica</string>
</test>
<edit name=”family” mode=”assign”>
<string>Arial</string>
</edit>
</match>
<match target=”pattern”>
<test qual=”any” name=”family”>
<string>Palatino</string>
</test>
<edit name=”family” mode=”assign”>
<string>Georgia</string>
</edit>
</match>
</fontconfig>

Works like a charm.