Yeah, I think I've tried about 3 dozen monospaced fonts for a black background. Terminal is the only one I like. The closest is Lucida Console - and a bold version of Lucida Console would likely fit the bill. For smaller fonts (less than 12pt), bold works better on a dark background and a dark background is a fairly common practice with programmers. Although the Bold option is "available" for Plain Text, it is ignored (a known RC bug that was ignored). What strikes me is Microsoft's unwillingness to produce (or allow) a TTF version of terminal - especially since shipping VS 2010.
I've also had a couple of monospaced TTF fonts that were ignored and replaced with other fonts. They would work in wordpad and they were available in the VS options - but they simply rendered as a different font.
A very good article
5 from me for the very informative article.
Who would have thought for this... atlease I haven't.
But found Consolas are good one with clear type.
Choosing proper(eye friendly) fonts can make life easy for the developers.
Excellent article. I am too quite finicky about my programming fonts and like to choose them very carefully. What was missing in the article is comparison between regular and bold styles for the same font. For example, when you're editing XML code in VS editor and open a tag, then opening bracket becomes bold until it is closed with closing bracket. Also, the whole XML element name becomes bold until it is closed.
The similar effect happens with other programming languages when there is an expression that can be closed (if's, for's etc).
Some fonts (Consolas, Lucida Sans Typewriter) are aware of that and have the same width for bold variant as for regular flavor. Others have wider typeface for bold variants, so text becomes distorted when editor makes parts of it bold. I think it would be nice to include this info in the article.
Appreciate so much your taking the time to compile this, and keep it updated.
"Many : not conversant with mathematical studies, imagine that because it [the Analytical Engine] is to give results in numerical notation, its processes must consequently be arithmetical, numerical, rather than algebraical and analytical. This is an error. The engine can arrange and combine numerical quantities as if they were letters or any other general symbols; and it fact it might bring out its results in algebraical notation, were provisions made accordingly." Ada, Countess Lovelace, 1844
You mention various fonts as being legible at various minimum sizes. Since a 10-point version of one font may be wider or have greater line spacing than a 12-point version of another font, it might be helpful to include in your table the number of rows and columns that each font will display in some particular size of window (say 640x480 pixels) at its minimum legible size.
Thanks! It was fun to put together (I am a bit of a perfectionist , so I am always looking for the "perfect font"). I initially thought, This won't take long - there can't be more than 10 or 15 mono fonts.
You mentioned you were unable to find the updated (2008) Liberation font family with a slashed zero. I found a version with a dotted zero tonight via a Google search for "Liberation Mono" which yielded a first item entitled "Liberation fonts" (http://en.wikipedia.org/wiki/Liberation_fonts). This appears to be the Wikipedia page you mentioned above in the body of your article, as it has the quote re "The fonts were developed by Steve Matteson of Ascender Corp....licensed by Red Hat, Inc. as the Liberation font family."
The current version of that Wikipedia page states "The Fedora Project, as of version 9, features slightly revised versions of the Liberation fonts contributed by Ascender. These include a slashed zero and various changes made for the benefit of internationalization." At the bottom of the page there is a link to the "Liberation Fonts project at Fedora Hosted" (https://fedorahosted.org/liberation-fonts/).
In the zip file you link to, the bold, bold italic, and italic mono fonts are version 1.04, and have a dotted zero. However, the regular Liberation mono font (LiberationMono-Regular.ttf) is version 1.00, and is not dotted.
When programs need to display lots of data in a very small space, tiny fonts (e.g. in the range of 4x6 to 6x10) can be extremely useful. Unfortunately, .net does not allow the use of bitmap fonts in its controls, and all the TrueType fonts I've seen become illegible at such sizes.
Other than having a program manually draw characters as bitmap graphics, is there any good way to show data legibly at such sizes? For example, do there exist any TrueType fonts that scale well to such sizes, or is there any utility which can take a collection of bitmaps and produce a TrueType font which, when rendered at a particular size, will yield those bitmaps precisely?
Note that for legibility at 4x6, it's necessary that some font characters be rendered quite differently from how they would normally appear at larger sizes. An "N", for example, should appear as a taller version of "n".
I'll give those a try. ProFontWindows brings back some memories, since I looked at ProFont in my Macintosh days and ended up creating something that was similar but a bit different. Most notably, the font I created made most of the lowercase letters four pixels wide instead of five and used a narrow zero instead of a slashed one. I actually replaced Monaco-9 with my own adaptation, so it would be the default monospaced system font.
Proggy-Tiny looks like it will be pretty good for use in a 6x9 character box. ProFont is unfortunately only a bitmap font, and thus is not usable in .net controls. Maybe I'll just have to kludge together some bitmap routines for use with a 4x6 character matrix.
Akkurat looks pretty appealing, but $US150
I also tried some "programmer's" fonts but they are more stylish than readable, and for my taste Courier New lacks the vertical.
The CodeProject font top-list ranking is well-deserved, Consolas is really the best ClearType font (my thumbs-up) and Lucida Console is the best CRT display font.