Thursday, July 01, 2010

Tidbit: Fonts - The Subtle Eyecandy

Us Linux users, for the most part, enjoy tweaking and fine tuning our computers so that they are just right for us. That is just the kind of users we are. Apart from being functional, we also love eyecandy, and it shows in all the different desktop effects, add-ons and themes available. But one thing I often see ignored are fonts. Considering that while you're not spinning the cube or wobbling the window, all you see are widgets, images and text, it makes sense to say that fonts are a very important part of the user experience. So, I just want to share a few tweaks I use to make my user experience better. Of course, beauty is in the eye of the beholder. Use what works for you!

Set your system-wide font configurations

There are many tweaks and settings available for fonts. For a full description read this. I prefer to use a ready-made font configuration and a good one is PaulBredbury's configuration. Follow the link in the forum post to his latest configuration file and save it as ~/.fonts.conf in your home folder. Log out and log back in.

Find a font you like

This is a matter of personal taste, so there is no 'best font'. However, I find that fonts that require a minimal amount of antialiasing (blurring around the edges) without looking pixelated or blocky work the best. This means they will look crisp and they will 'pop', making them easier and a joy to read. Generally, for screens, sans serif fonts are recommended.

Personally, I have taken a liking to the taller sans serif fonts like Droid Sans, Aurulent Sans, DejaVu Sans Condensed and Aller. You can find them all and more on Font Squirrel. Install your preferred font using the GUI tool in your distro or unpack them to your ~/.fonts directory.

Set the font as your system default

Depending on your desktop environment the steps will be slightly different.

  • Gnome: Preferences > Appearance > Fonts Tab

  • KDE: System Settings > Application Appearance > Fonts

  • LXDE or Mint Fluxbox: Preferences > Appearance > Fonts combo box

One more thing

So far it's all nice, easy and nothing new. There is one more thing that I like to do and that is bring my preferred font to the web. I force the browsers to render pages using the font I want and IMO it makes for a much more pleasant experience. Here's how I do it for the browsers I use.

  • Firefox: Edit > Preferences > Content tab. In there set your default font, then click 'Advanced' and set your font there as well. Unselect the option 'Allow pages to choose their own fonts, instead of my selections above'. Save your settings.

  • Google Chrome and Chromium: Install the Chrome Stylist extension. In the extension's 'Options' page, go to the Styles tab and click 'Add new style'. In the dialog that appears, name your new style, select 'All sites', paste the following CSS code into the text box, then enable and save the settings.

  • Opera (10.60): Create a file ~/.opera/styles/user/user.css and paste the CSS code below into the file. In the address bar of Opera, navigate to opera:config. In the filter field type in 'local css'. Set the value of 'Local CSS File' to the file you just created and 'Local CSS Files Directory' to the directory containing the file. Save your changes.

CSS for Chrome and Opera

* { font-family: "Droid Sans" !important; }

Replace 'Droid Sans' with the font of your choice.

Log out and back in, just to make sure all is freshly loaded and enjoy your uniformly crisp and beautiful fonts both on the desktop and online!