Some typefaces are good for programming (meaning: good for editing/viewing source code in an editor or IDE), some are not. A few desirable features in a programmer typeface. Please, no arguments about serifs vs sans serif or monospace vs proportional; the features here should be generally applicable. * Easy to distinguish similar looking characters: ** Single-quote ' ''vs.'' backquote ` ** Two single-quotes '' vs. one double-quote " (this is especially important for proportional fonts, for obvious reasons) ** Zero 0 ''vs.'' the letter O (Oh). I like slashed zeros; though many don't. ** One 1 ''vs.'' the letter I (capital Eye), l (lower-case ell), and i (lower-case eye) ** Eight 8 ''vs.'' the letter B (capital Bee), six 6, and zero 0 ** Two 2 ''vs.'' the letter Z (capital Zee/Zed) ** Five 5 ''vs.'' the letter S (capital Ess) ** Vertical bar or pipe (|) ''vs.'' exclamation point or bang (!) ** Parentheses () ''vs.'' curly braces {} ** Colon : ''vs.'' semi-colon ; ''vs.'' lower-case eye (i) ** Period . ''vs.'' comma , * Full-sized asterisk * , circumflex ^ , tilde ~ , and hash mark # (about the same size and at the same level as a lower-case o) rather than the teeny-weeny superscript versions found in some typefaces. * Visible whitespace characters (especially tabs), or at least the ability to enable them. (This is not strictly a typeface issue). Especially if using a proportional font. * A good set of international glyphs (anything non ASCII); especially code points larger than 0xff. The aforementioned characters in your browser's proportional font: 0 O 1 I l i 2 Z 8 B 5 S | ! � ( ) { } : ; . , * ^ ~ # " '' ` And in monospace: 0 O 1 I l i 2 Z 8 B 5 S | ! � ( ) { } : ; . , * ^ ~ # " '' ` ---- List your favorite typefaces below; include the source. Don't just say "courier" as there is likely quite a wide variation in typefaces called "courier"; at least that I've noticed. * Andale Mono (by The Monotype Corporation) ** This used to be a free download from MicroSoft. I carry a copy with me on disk and a copy parked on my site. Anyone know if this is still available as a free download? *** Yep. http://prdownloads.sf.net/corefonts/ - grab "andale32.exe"; it can be extracted with any .cab extractor. --CodyBoisclair * Anonymous (http://www.ms-studio.com/FontSales/anonymous.html) * BitstreamVera Sans Mono (by Bitstream, Inc.) * "Fixedsys" or "8514OEM" (Windows-specific) ** Fixedsys Excelsior is like the former but TTF and with Unicode. * JMK/Neep http://www.jmknoble.net/fonts/ * Lucida Console (comes with Win2k & WinXP) ** 0 vs O is only distinguished by character width, but handles 1 vs l vs I very well * ProFont http://www.tobias-jung.de/seekingprofont/ ** Bold version available at http://www.phubuh.org/ * Trebuchet MS (comes with winXP, don't know the source) {This does not seem to be monospace, at least the Mac version} ** Doesn't handle '' vs " very well, but is very clear for everything else; anyway, the quote marks are nothing that two minutes of editing can't fix in a font editor ** It's also available from http://prdownloads.sf.net/corefonts/. So's Verdana, for that matter. --CodyBoisclair *Monaco (designed by Apple Computer, IIRC, it's a standard MacOS font, anyway) ** There's also a Windows version bundled with some HP printer drivers. Grab "monaco.tt_" from ftp://ftp.hp.com/pub/printers/software/lj818/v1_0/english/fonts/ and then extract it with the Windows NT "expand" utility. FWIW, there are Windows versions of a number of other old-school Mac fonts in that directory as well. --CodyBoisclair * Old 8-bit fonts are fun for a while, but the crossbar on the 0 often makes it look like an 8, and some of them deviate from ASCII a bit (PETSCII has no backslash, and ATASCII has no braces.) * Computer Modern (the default TeX font) ''For what it's worth, my favorites are Andale Mono and Bitstream Vera Sans Mono-- they're nice and scalable, they clearly distinguish ambiguous characters, they're designed by major foundries, and they're available for free. Hard to beat either of them, really. --CodyBoisclair'' ---- What's the best font for differentiating braces and parens? ---- There was one mentioned in one of the LinuxMagazines, August 2004. Too bad I can remember it. -- AliMoe (04aug21) ---- Has anyone really had a problem with the alleged confusing character sets listed at the top of the page? When reading code, the characters are easily distinguished based on context and when typing code, the only one that I have ever encountered is typing a colon where I wanted a semicolon and that is due to keyboard layout not display fonts. ''I've mixed up 1 and i numerous times before, in contexts where both characters were both legal and reasonable--producing incorrect code that nonetheless compiled without complaint.'' [If one has trouble mistyping 1 (One) and i (lower case I), which are on opposite sides of the keyboard(!), perhaps one would be better off not using "i" as a variable name. It is far better to prevent the entry of errors than to try to scan code to find where the errors came from.] Also, the similarity between 1 and l are particularly annoying when you see a CeeLanguage constant like 1000l (1 thousand in a long int, not 10 thousand one in an int). A better way to write it is 1000L, but I didn't write the code... I've mixed them up. so-called 133+ speak takes advantage of the similarities. 80085 for example, instead of BOOBS. ---------- I've found the HVRaster programmers font and the HVEdit fonts to be far and away the best in clearly distinguishing 1,I,l and O,0 and {}(), etc. Big, bold and clear. Unfortunately shareware but demos are available from http://www.procon.com.au/Fonts.htm =========== Proggy Programming Fonts, http://www.proggyfonts.com/, "Monospaced Bitmap Programming Fonts". Many fonts, featuring especially Proggy Clean, Proggy Square, Proggy Small, and Proggy Tiny. Available in .fon, .ttf, and .pcf Of the old-style X fonts that happen to be installed on my Ubuntu laptop at the moment, I think the ten-pixel-tall "misc-fixed" is better than any of the alternatives I've tried. Leaves something to be desired in the 0 vs. O department, but otherwise perfect, and much more readable than adobe-courier or "clean". ---- Nothing really beats the Terminus (http://fractal.csie.org/~eric/wiki/Terminus_font) font for me. Although DejaVu Sans Mono comes close. ---- Two newer fonts that I find myself using quite frequently, in addition to the ones I mentioned above: * Consolas - included in recent versions of Windows, as well as Office for Mac * Liberation Sans - available from http://fedorahosted.org/liberation-fonts --CodyBoisclair ---- Adobe has just released Source Code Sans, an open source monospaced font for programmers http://blogs.adobe.com/typblography/2012/09/source-code-pro.html