A better font rending in Ubuntu
I've been tinkering quite often ever since I upgraded from a Firefox 3.4 to Firefox 3.5 in Ubuntu Intrepid version 8.10. I wasn't satisfied as to how the fonts are being rendered. So I've searched for solutions or a workaround. I was glad that I found a tutorial via kilobitspersecond.com. I thought it was the best workaround available that the Web has to offer for Ubuntu users but I'm still wasn't satisfied of the output.
And Just recently, I've searched for a different solution and found this via linuxtidbits.wordpress.com. A workaround that's quite overwhelming when looking at the code for .fonts.conf file. But when I tried using it, for the first time I was satisfied of the rendering output both in Firefox 3.5 and the desktop system.
Here's the code I've used for ~/.fonts.conf script thanks to linuxtidbits.wordpress.com
<?xml version='1.0'?><!DOCTYPE fontconfig SYSTEM 'fonts.dtd'><fontconfig> <!-- General Settings --> <match target="font" > <edit mode="assign" name="rgba" > <const>rgb</const> </edit> </match> <match target="font" > <edit mode="assign" name="hinting" > <bool>true</bool> </edit> </match> <match target="font" > <edit mode="assign" name="hintstyle" > <const>hintslight</const> </edit> </match> <match target="font" > <edit mode="assign" name="antialias" > <bool>true</bool> </edit> </match> <match target="pattern" > <edit mode="assign" name="autohint" > <bool>true</bool> </edit> </match> <match target="font" > <edit mode="assign" name="lcdfilter"> <const>lcddefault</const> </edit> </match> <!-- set dpi --> <match target="pattern" > <edit mode="assign" name="dpi" > <double>88</double> </edit> </match> <!-- consolas and inconsolata appear fuzzy --> <match target="font"> <test compare="eq" name="family"> <string>Consolas</string> </test> <edit mode="assign" name="hintstyle"> <const>hintmedium</const> </edit> </match> <match target="font"> <test compare="eq" name="family"> <string>Inconsolata</string> </test> <edit mode="assign" name="hintstyle"> <const>hintslight</const> </edit> </match> <!-- hintmedium for small fonts, reduces fuzziness --> <!-- pretty sure this doesn't work --> <match target="font"> <test compare="less_eq" name="pixelsize"> <double>11</double> </test> <edit mode="assign" name="hintstyle"> <const>hintslight</const> </edit> </match> <!-- calibri jaggedness --> <match target="font" > <edit mode="assign" name="embeddedbitmap" > <bool>false</bool></edit> </match> <match target="font"> <test compare="eq" name="family"> <string>Arial</string> </test> <edit mode="assign" name="hinting"> <bool>true</bool> </edit> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <edit mode="assign" name="autohint"> <bool>true</bool> </edit> <test compare="less" name="weight"> <const>medium</const> </test> </match> <match target="font"> <test compare="eq" name="family"> <string>Impact</string> </test> <edit mode="assign" name="hinting"> <bool>true</bool> </edit> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <edit mode="assign" name="autohint"> <bool>false</bool> </edit> </match></fontconfig>
Update: December 1, 2009
Thanks to @wilmon. If you happen to just let the font spacing/kerning to use the normal or default space, just comment out the following code block as seen below:
<!-- <match target="font"> <test compare="eq" name="family"> <string>Arial</string> </test> <edit mode="assign" name="hinting"> <bool>true</bool> </edit> <edit mode="assign" name="hintstyle"> <const>hintfull</const> </edit> <edit mode="assign" name="autohint"> <bool>true</bool> </edit> <test compare="less" name="weight"> <const>medium</const> </test> </match> -->
And here are my screenshot font rending output. See the detailed comparison with or without using the /~.fonts.conf code. Spot the detail in spacing and the redish and greenish color surrounding the font/letter forms. See what screenshot is much more readable.

Comments (9)