Tue 7 Aug 2007
The Font Tournament
Posted by Dennis B under Code Editors, Productivity
[4] Comments
Here we are in the worst time of the year, that time after hockey season ends and before football season begins. The time of nothingness, boredom, spelling bees on ESPN2.
So, what do sports fans do during this down time. If they are desperate, they watch tennis, really desperate, maybe try to get into watching a soccer game. But, if you are exceedingly desperate, you invent a new tournament sport.
The Single Elimination Font Championship
It’s hard to pick a really good programming font. There are a lot of fonts out there, just google for “programming font” and you will find a lot of really great fonts, and a lot of really weird fonts. But how do you pick the best font?
Here is my grudge about font selection dialogs. They work in one of two ways:
- They will only show you one font at a time.
- They display the list of fonts in the font itself.This seems like a nice visual solution, except that it makes it impossible to
decipher the font name of a symbol font or foreign language font.
Finding a good programming font seems to involve a lot of trial and error. Some fonts look great in the font dialog, but do not look very good in practice. Sometimes it is hard to read vertical spacing from the font dialog. Sometimes, the plain font looks great, but it’s italic or bold variant is horrid, and you do not notice that until you are using the font in your editor.
In this article, I am going to outline a design for a new paradigm for font selection that overcomes some of these issues, including the problem with there being no sports on TV.
Picking the contestants
The first step is to select a set of candidate fonts. This is where you use a traditional font dialog, with one modification to the font list: checkboxes so you can pick which fonts will participate in the tournament.
The Playoff’s
Once you have a set of contestants, you begin the playoffs. The fonts are assigned randomly into a single-elimination bracket. A slightly more thorough variation of the system could use double-elimination brackets, but I don’t believe it’s really necessary.
The font contests are head-to-head. You are shown a big dialog with both fonts, their names, a size selector, and six samples side-by-side:
- The plain font with programmer-friendly sample text:
1
2
3== Line before ==
Aa_Bb_Cc = (l1 + O0);
== Line after == - The font in bold with the same text.
- The font in italic with the same text.
- The font in bold and italic with the same text.
- The font in underline with the same text.
- An editor control with your color scheme displaying code
in a language of your choice where you can paste in your
own text to see.
Then you select the font that you like better, and move on to the next contest. The fundamental principal is that while it may be hard to select a favorite font from a list of 100 fonts, most programmers can look at two fonts and pick one that they like better than the other.
The brackets are played out until you reach the championship round and select one favorite programming font, which you will then have the opportunity to assign the champion as your default source window font in SlickEdit. Playing out the brackets with a single-elimination tournament requires (N -1) contests where N is the number of candidate fonts participating in the tournament. Even with a huge field of 50 fonts, you could finish in 15 minutes, and you would know that the font you are using is a champion. Which will leave you plenty of time to catch that spelling bee later on ESPN2.
Conclusion
“It’s so crazy, it just might work.”
This is merely a design sketch for a font tournament system. It’s not a feature that is being developed or even in the works, just an idea. If some industrious SlickEdit user wanted to exercise his/her Slick-C skills, it would be quite easy to implement, and would be a really great user-contributed batch macro.
I mean, what else are you going to do with your time? It’s not like there’s any sports on TV.
August 7th, 2007 at 12:24 pm
My money’s on Consolas for the title.
August 7th, 2007 at 3:01 pm
Monaco FTW.
August 7th, 2007 at 6:59 pm
DejaVu Sans Mono, which is a derivative of Bitstream Vera Sans Mono, looks pretty decent on my screen.
August 17th, 2007 at 7:49 pm
I use Terminal at size 10. I have the addeded requirement that my font has to be able to display Japanese and there are very few fixed width fonts that do that.