« Previous | Main | Next »

Fonts for Programmers

Mike Manzano asks if any Typographica readers can suggest a good typeface for programmers “who sit in front of monitors for 30 hours a day.” The requirements for a decent coding font are:

  1. Fixed-width with easily distinguishable symbols (such as numeral zero and letter ‘O’)
  2. Easily scannable for text.
  3. “Not cause a headache” after long periods of immersive reading.

Mike found this abomination, and notes that “the only thing funnier than this typeface is that they’re expecting people to buy it.”

See also: deadprogrammer Seeks Coding Font : Other Suggestions

Posted by Joshua Lurie-Terrell | November 20, 2003 | LINK

Comments

Schiavi's Pragmata looks good.

Eduardo Omine | Nov 20, 2003 11:38 AM

I use ProFont in all my editors, it's available here:

http://www.tobias-jung.de/seekingprofont/

And it's got all what you described above, at least imo ;)

Stefan | Nov 20, 2003 11:50 AM

I'm really fond of Susan Lesch and David Lamkins's Anonymous, which is free and looks very good as a bitmap font at small point sizes. Mark Simonson added extra bitmap sizes and the font is on his site:

http://www.ms-studio.com/FontSales/anonymous.html

Luke Andrews | Nov 20, 2003 12:06 PM

Luc[as] de Groot makes superb programming fonts.

hhp

Hrant | Nov 20, 2003 12:08 PM

As Eduardo points out, Schiavi’s Pragmata, although not free, is an amazing face designed specifically for the use you describe, and it’s hand-hinted for optimum legibility. If you look at the comparisions made by Schiavi in its Flash movie you’ll see by yourself.
Its equivalent, although not monospaced, is the already mentioned Sys.
Both are condensed and save a lot of space compared to other system fonts (like Monaco or Courier, on the Mac), and the two-storied “g” and other details improve a lot their ease on the eye when setting a lot of text.
I am not familiar with DeGroot programming fonts. Are they on sale?

Claudio Piccinini | Nov 20, 2003 01:14 PM

And Luke's right: Simonson’s version of Anonymous looks pretty good too, and it’s free.

Claudio Piccinini | Nov 20, 2003 01:19 PM

Bitstream released together with Gnome Foundation a free family of ten fonts containing a monospaced. It's called Vera. Even Vera Sans looks like a copy of Verdana, Vera Sans Mono seems to be good for programming stuff as long as you like smoothed fonts.
You can read and see more here:
Gnome Foundation and Bitstream Inc. Announce Long-Term Agreement to Bring High Quality Fonts to Free Software

Guido Bittner | Nov 20, 2003 01:46 PM

Well! It's oddly stimulating to suggest a font, not for its beauty or some subtle undertone, but for its practical effectiveness in a plain utilitarian role.

One which combines just a tiny bit of personality (along with the ability to meet all the other requisites listed) is Ingrimayne's Galexica by under-appreciated Robert Schenk.

Ingrimayne faces were just added at Intellifont, so you can preview it there. Schenk's work has been much cloned -- which is specially cruel, because he sells his genuine originals very, very reasonably.

Tubby | Nov 20, 2003 01:56 PM

Minor oops -- there's a non-mono and mono version of Galexica; I meant to suggest the monoweight version, of course, for program editing and listings. Trust that didn't make anybody stumble.

Tubby | Nov 20, 2003 02:00 PM

I think Tubby meant Robert Schenk's Ingrimayne faces are now at identifont.com. This is Galexica.

Stephen Coles | Nov 20, 2003 02:05 PM

PySans by Letterror is a nice bitmap design with OsF that has been bundled with MacPython in the past. There also exists a PySans-Mono but I'm not sure how it's bundled, if at all.

John Butler | Nov 20, 2003 03:00 PM

Another vote for Bitstream Vera Sans Mono. I'm using it with ClearType in Windows XP, and haven't found anything that beats it.

It's a free font as well. Even nicer.

Johan Svensson | Nov 20, 2003 03:02 PM

TheSans and TheMix have mono styles (the former in 2-3 different widths!), and soon TheSerif will have a mono too. This last one will probably be the best mono font ever made.

> Vera .... as long as you like smoothed fonts.

Isn't Vera superhinted to display well in b&w?

hhp

Hrant | Nov 20, 2003 03:04 PM

>Isn’t Vera superhinted to display well in b&w?

It comes from Bitstream, so it should have some sophisticated hinting. I once tried to use in in terminal.app and noticed that it looks terrible in b&w...

Guido Bittner | Nov 20, 2003 03:24 PM

"Luc[as] de Groot makes superb programming fonts."

Yep. I've been using TheSansMonoCond-5 for years as a coding font. (probably since around 1997).

James Spahr | Nov 20, 2003 03:26 PM

... soon TheSerif will have a mono too. This last one will probably be the best mono font ever made.

I know of another mono font currently in development that may offer stiff competition to all-comers. I can't say more now.

John Hudson | Nov 20, 2003 08:54 PM

Gah, nasty bold punctuation! I like my editor to do syntax highlighting, not the font, thank you.

Colin | Nov 20, 2003 09:53 PM

who's going to buy a very expensive luc[as] font for programming when they can get similar for much less?

rolf | Nov 21, 2003 01:57 AM

Because Luc(as) is the man?

Eric Olson | Nov 21, 2003 05:07 AM

Rolf, "similar" is in the tastebuds.

hhp

Hrant | Nov 21, 2003 09:21 AM

Another vote for the Bitstream Vera mono font, it's very nice in Linux and Windows (with and without Cleartype). As well as being easy on the eye it has a personality all of it's own.

Mike | Nov 21, 2003 11:31 AM

one request everyone: if you mention a typeface, and there's a sample of it online, hyperlink it, or at least out a link to the foundry. This is the internet after all, and I want to see what everyone's suggesting. Instead, what I have to do is: copy font name, launch new browser tab (or window), go to google, paste in font name, and pray that the results offer (and that I can find) the best representative example. And I'm sure I'm not the only one doing this...

rb | Nov 21, 2003 02:02 PM

Some links:

Ingrimayne Galexica Mono by Robert Schenk

Bitstream Vera

LucasFonts. He uses javascript to display pages so I couldn't link to them directly, bleh (although this does not prevent him from being the man).

Graham Hicks | Nov 21, 2003 03:18 PM

I code in Monaco 9. Somewhere along the line I've become quite attached to it.

Geneva is also easy on the eyes at small sizes, but is not monospaced. Still a good option where that's not a requirement.

mangoduck | Nov 21, 2003 09:02 PM

I forgot the presence of Mono versions inside the monster families of Lucas' Thesis. Anyway, Rolf, if the Mono weight you need for programming code is available as a single weight I don't think you'll be ruined to buy it. I just bought Punten from Luc(as) website and I have to say his prices are really reasonable for the quality you get. This goes for other great designers, like Gerard Unger, for example.
And I have to tell you Luc(as) was for a long time among the "idols" of Fabrizio. His Sys anyway, is especially for screen/web/OS usage because it's pretty light to set text with, although it works wonderfully anyway. I've designed a set of oldstyle numerals which maybe Fab will include in a future OT version. He is working on the Bold and another friend of us, a designer you know (but I won't name here) has done a fantastic non-Latin version of it. Fabrizio here and there is working on the Bold as well.

Claudio Piccinini | Nov 22, 2003 09:10 AM

So far, unfortunately, I was not able to find a good font for coding among various suggestions. Because I work on a 15" notebook running 1600x1200 (effective resolution: 133 dpi), I use the sizes 18 or 19 ppem for programming. I stringly prefer that the stems are 2-pixel rather than 1-pixel -- these are too light for me. Unfortunately, most superhinted fonts are either not very well hinted in these sizes or have 1-pixel stems. My own favourite is Agfa Monotype's Andale Mono, but unfortunately, it turns to 2 pixels only at 20 ppem. I also worked with Arial Monospace because it is reasonably well hinted and has a good bold (a rarity among console fonts). Fabrizio Schiavi's Sys is definitely too thin (2 pixels only 25 ppem). Pragmata looks more promising (2 pixels at 19 ppem). At the moment, I use Lucida Console which turns to 2 pixels on 18 ppem. I even made modified Lucida Console for my own purpose, including a zero with a dot inside and slightly increasing the leading. I bundles this one with Arial Monospace Bold, since Lucida Console lacks its own Bold. Works acceptably, but I still don't understand why there are not good ready fonts that could be used.

I haven't seen Luc(as) de Groot's screen fonts, though. Peter Bilak's Fedra Mono looks great but is not hinted well enough. But if Peter even makes a superhinted version, I'll be the one to buy it. ParaType have made very decent superhinted fonts (all include Western, CE and Cyrillic) but there are no monospace fonts among them.

Bitstream Vera Sans Mono looks promising, too. Fortunately, it does have Bold, and even Italic. I just checked it, and it seems to turn to 2 pixels at 18 ppem, just like Lucida Console. Maybe I will start using it. Thanks for pointing it out!

Adam

Adam Twardoch | Nov 22, 2003 12:52 PM

The sequences of characters one tends to encounter in code (by which I mean text intended to be interpreted by a machine) are specialized, so a very good monospace typeface might not make a good programming typeface. Of course, different code syntaxes have different sequences, and tastes vary widely as well.

Opinions (some of which are highly personal and debatable, worth what you paid) about coding typefaces beyond the obvious (O/0 & 1/l/I): Punctuation (and the various brackets) must all be easily differentiable at small ppm & they can't become gray blobs when antialiasing. The * should not be raised relative to +/-; the same is true of ~; all these should align with =. The % should be cap height. The " & ' should be straight, not angled or curved (& preferably not taper to gray when antialiased at small ppm). Don't make the - too short; en-dashes aren't typically used in programming. Similarly, ~/*/^/ are often too small. Numbers should be cap height; but I have to admit I still haven't tried using OSF, it still creeps me out too much (for code). Bracketing chars have to align reasonably with both lc & caps. Glyphs should not draw outside their metric bounds. | is unbroken & shouldn't look like ! with a lit pixel. Coding syntaxes tend to make heavy use of ASCII & I only code in English, so my opinions only apply to characters less than 128.

David E Hollingsworth | Nov 22, 2003 01:05 PM

Adam, you're totally right about the 2-pixel stuff. To me, 15 PPEM (inclusive) is a good "floor" for 2-pixel stems, and even 14 PPEM benefits from it if the design is of a large "torso". In the beginning MacOS had 2-pixel stems, but then MS focus-grouped that out of existence...

One major problem with 1-pixel stems is that inter-letter spacing has to be very loose for it not to overpower the internal white, and then comfortable reading becomes shot.

BTW, help is on the way...

hhp

Hrant | Nov 23, 2003 12:02 PM

Bitstream Vera is actually a detuned
Bitstream Prima. Gnome asked that we
modify some of the characters in the
monospace, particularly for coding
legibility. We added a center dot to
the zero and modified the lcase l to
distinquish it from the figure one.

Contrary to Hrant's belief, none of
the Vera fonts are superhinted for
screen output, as is Prima. The basic
TrueType hints are good, with diagonal
stroke control, but there are very few
delta hints. Superhinting was not
required in the intended environment
for these fonts, a Linux platform with
sub-pixel rendering enabled.

BTW, although I designed Vera (Prima),
it was actually Sue Zafarana who adapted
it to a mono version, at times a very
challenging task.

Jim L.

Jim Lyles | Nov 24, 2003 04:05 AM

You "designed" Prima? Why then, pray tell, does it look so bloody familiar? Bitstream is now officially the only foundry to rip the same font twice, and even make it available under a GPL!

Anony Moose | Nov 24, 2003 07:43 PM

Frutiger?! You've got to be kidding. Or you've got to be our long-lost lycanthrope, frothing at the mouth every time Bitstream is mentioned...

The truth is, Bitstream have been setting one ethical benchmark after another since '99.

hhp

Hrant | Nov 24, 2003 09:45 PM

Actually, Monotype has that honor. Before there was Book Antiqua, there was "Z-Antiqua." Both are Palatino ripoffs. But neither was GPLed.

Anotheronymous | Nov 25, 2003 06:14 AM

Don't be silly, Anonimo, you make even Hrant a little upset. :)

Claudio Piccinini | Nov 26, 2003 01:06 PM

Besides, if you wish to be so superficial, you can say any type covering the ground between the "poles" of Gill Sans and Akzidenz Grotesk after Frutiger is "a slightly modified Frutiger", to say so.

Claudio Piccinini | Nov 26, 2003 01:08 PM

Hrant is blind as a bat, and so are you if you can't see the identical design features between Frutiger and Prima Sans. Next you are going to tell me Myriad and Fedra are "original designs" right?

Anonimo | Nov 27, 2003 07:48 AM

>Next you are going to tell me Myriad and Fedra are "original designs" right?

I don't know about Fedra, but I have learned a thing or two about Myriad. Please see more at www.letimes.com.

Bill Troop | Nov 27, 2003 11:01 PM

Anonymous sucks.
Myriad is a great typeface. Slimbach (Slimbach, right?) did a great work. He don't need to "copy". You are always seeking "piracy" where there is none.

Claudio Piccinini | Nov 28, 2003 08:59 AM

Mike, I actually really like Oloron. I would totally buy it.

-Ronnie Koff

Ronnie Koff | Nov 29, 2003 03:40 PM

I hear you from a display angle, Ronnie. Your site shows that you could use Oloron to nice effect in that retro realm. (Really nice stuff, btw.) But there's no way I'd spend long hours coding with a 9 pt. version of that font.

Stephen Coles | Nov 29, 2003 04:12 PM

The basic shapes, proportions, and finish of Myriad and Prima are the same as Frutiger.

If Frutiger were a member of an old, generic class of types, in the way that Helvetica is a grotesque, or Century a modern, then Myriad and Prima would not be such obvious derivations.

I remember when Frutiger was introduced in the early '80s, encountering it in large headline settings in Advertising Age, and marvelling at its subtlety and uniformity, looking for signature characters and details that stand out, or snatches of themes from other faces that it develops upon, so that I could get a handle on it, and understand where it was coming from -- and being forced to accept that this was a genuinely new totality.

Frutiger was a quite distinct invention, and with these subsequent "homages," seems to have created its own genre.

Sure, Myriad was MM, and has a very different fit to Frutiger, and many of its stem joints are not strictly perpendicular, as are Frutiger's, but to argue that it, and Prima, are original typefaces is specious -- their debt is too great, and having a different cap M isn't enough.

Just because a typeface achieves a bland, archetypal quality that makes it seem perfectly natural, more a discovery of some underlying truth than an invention, doesn't excuse those who imitate it from acknowledging their source.

As John Downer suggested, Call It What It Is, and Frutiger was a recent, original work of genius, and Myriad and Prima are me-to's. The most applicable (though somewhat harsh) of Downer's categories of "closely based" typeface designs is "Knockoffs/Clones/Counterfeits."

Having said that, Myriad and Prima are not examples of outright piracy. The real problem with them (and this is a key point in Downer's essay) is that their foundries don't acknowledge the derivation. Adobe includes Myriad in its Originals series (along with such other "Originals" as Garamond and Caslon), has a patent pending (?!), and has no mention in its blurb of the Frutiger typeface.

If not piracy, certainly plagiarism: "to appropriate and pass off the ideas of another as one's own," and it would be nice if Adobe and Bitstream could (at the very least), to avoid this stigma, acknowledge that Adrian Frutiger's eponymous typeface was outstanding enough to become an archetype -- in the manner of "Garamond" or "Bodoni" -- and Myriad and Prima are the indebted works that have turned it into a genre.

Let's face it, if Frutiger had been designed in 1876, not 1976, Myriad would have been called Adobe Frutiger.

nick shinn | Nov 30, 2003 05:56 PM

Then Iowan Oldstyle should be called Downer Jenson, and Mrs Eaves should be called Emigre Baskerville - even though it's not too close, it's exactly what an Emigre Baskerville would look like. The important thing isn't the formal resemblance, it's the intent. Because for one thing, laymen (the supposed targets of all this effort) can't tell them apart anyway. As for giving credit, who but us notices such minutiae anyway? The name is much more important. Which makes me note ITC Garamond: a font that some people think pays homage when it shouldn't.

Some people think FF Fago is too close to Verdana. I don't see it at all, but I have different eyes. It's a matter of individual sensitivity, not some One White Truth.

hhp

Hrant | Nov 30, 2003 07:59 PM

Iowan Oldstyle isn't a Jenson revival. Take a look at the angle of the crossbar on the lower case e, the serif on the tail of the y, the splay of the M's legs, the missing serifs on M, C, S, T, Z, the lack of curve on the R's leg, etc., etc.

Iowan probably fits not into Downer's categories of typefaces that closely follow the original, but into those that loosely follow, as what he calls "Homages/Tributes/Paeans."

***

It doesn't matter what the layman thinks, or the designer's intent; professional type designers should not try and fool themselves (and others) that they are doing original work when they don't have an original idea for the most fundamental quality of a typeface -- letter shapes and proportions -- and are merely restyling someone else's design and/or changing a few details.

Even a simple sans serif typeface is a combination of quite specific global design themes, namely skeletal letter forms, x-height, cap height, extender length, relative widths of letters, angle of stress, degree of contrast, angle of terminals, roundness/ellipticality of curves, thickness and angle of joints -- all of which have specific values.

Robert Slimbach and Carol Twombly must surely have been aware that Frutiger was a remarkably unique typeface, an innovation to the then tiny humanist sans genre, far different from Gill or Syntax, and that Myriad appropriated the values of the majority of its design themes.

Compare Stone Sans, which had picked up this new humanist sans vibe just before Myriad, and has a similarly shaped and proportioned lower case to Frutiger, but the terminals are angled, and there is slightly more contrast. That makes for an original typeface, especially with the much greater variation of cap width.

It's not a matter of individual sensitivity. There is such a thing as type design.

nick shinn | Dec 1, 2003 01:24 AM

I agree that Iowan isn't a revival of a Jenson typeface, but it's still a rendition of the model (things like the crossbar of the "e" doesn't make or break that - the main thing is the texture), and as such would benefit by having a name that reflects it. I for one don't see any corn in it.

> There is such a thing as type design.

Are you sure? I always thought We Design Best What We Design Most Derivatively? Kidding. I agree on that, and that it would be nice to give more credit. Adobe always seems to come short on that.

hhp

Hrant | Dec 1, 2003 09:16 AM

I used to like Stone Sans, Nick, but now I find its modulation a bit "alien" to me. Sumner Stone did a great job (considering the time of Stone's design & release as well), but I like Myriad because the subtle things changed from Frutiger make it appealing to my eyes. Of course, without Frutiger we would not have had Myriad, but now that we have Myriad I prefer it, and this has nothing to do with the undisputed hinsight and mastery of Adrian Frutiger. Frutiger is very important, while Myriad is more nice to me. That's all.

Claudio Piccinini | Dec 1, 2003 02:22 PM

And yes, Hrant, the central point is crediting to me.
Everything should be credited, not just "insider" typefaces info, but any source, from inscriptions to paper sources, whatever, from any age and latitude/longitude.
Have you seen the Masterfont Hebrew faces on MyFonts? It could be interesting a thread on these...

Claudio Piccinini | Dec 1, 2003 02:25 PM

Best mono bitmap font for Win Programming IDEs is semething called Hvraster. I use it in Delphi and MS dev studio and its only font that's clear on laptop screens. Comes in normal and narrow widths up to about 25 points. (Scalable fonts like TTF just can't hack it in program code.)

Al Kocass | Dec 1, 2003 10:55 PM

Everyone should try to code without a monospaced font. Maybe some languages requires it, but C/C++ does not. Personally I swapped some months ago and have used Verdana ever since.

Jonas Norberg | Dec 3, 2003 08:12 AM

A good list of programmer fonts.

anon | Dec 3, 2003 10:52 PM

i can't believe nobody has mentioned Proggy Clean yet

mark | Dec 4, 2003 11:00 PM

Jonas, yes, proportional fonts work perfectly well as long as you are the only person who will ever look at the code. The problem is that:

(1) The font used is determined by an editor setting, not the source code file.
(2) Different proprotional fonts have different spacing.

So if you want to retain the intended layout you have to use a fixed width font.

In an ideal world the source code wouldn't just be a simple text file, or the editor would apply some sort of stylesheet. This would let everyone read and write the code the way they want, thereby elminating one of the most common programmers Holy Wars... which code layout to use!

Brian Syme | Feb 17, 2004 09:56 AM

I have "ported" Monaco 9pt to Windows, I use it every day and it is the best font for programming. Download it for free here: http://www.proggle.com/macfonts
Sample:

Gleb Dolgich | Jul 5, 2004 05:45 AM

I have been using the bitstream vera mono for development under linux, its awesome - readable - and it looks great. Looking good is very important to me cause I stare at it all day long.

I dunno how you could code using a proportional font - as soon as you want to edit a block your stuffed.

Mark Collister | Aug 23, 2004 08:57 PM

Huh, now I see that almost a year ago I wrote "help is on the way" but then forgot about this thread.

Chris Lowery (who is more than a budding typophile and who stares at a lot of code during the day) swears by Mana-13 Bold, if I may say so myself. :-> Here's a specimen, which also shows a bit of the 16.

The 11 will be released in two weeks.

hhp

Hrant | Aug 23, 2004 09:44 PM

What a religious war! My two cents worth. Go for a mono font thats big, bold and clear. The bitmap and ttf High Visibility is miles ahead for code editing. It works with all IDEs and comes in different widths so folder views, etc. can use a narrow font and not take up too much room.

Ed Ribachonek | Sep 13, 2004 11:44 PM

Well, on my end it's nothing religious, but a matter of functionality. Any font that's not grayscale (I mean the handmade kind) can't be miles ahead of much, since it doesn't take advantage of the medium in the way that humans need. Although I certainly concede that a mono version of Mana ("Manamono"? :-) would make it much more appropriate for coding.

hhp

Hrant | Sep 14, 2004 10:15 AM

Yay for twirling glyphs!

Stephen Coles | Sep 14, 2004 05:02 PM

I am really surprised that nobody has mentioned
the X11 standard font "fixed". Have I just become so much used to this font from seeing it for many years? Anyway, I think it is still one of the most readable fixed width fonts and has a very good width to height ratio.

Christian Winkler | Sep 25, 2004 02:50 PM

After experimenting with various fonts, I discovered that I get nausea with anti-aliased fonts. So it's back to Courier New for me. (Turned off ClearType too).

Jonathan Aquino | Sep 25, 2004 04:15 PM

Uh -- back to the topic.

The people at PGDP (Project Gutenburg Distributed Proofreaders sit all day and stare at OCR'd text, trying to bring it back to what it should be. They really need to be able to tell the difference between a "cl" and a "d", and a 0 and a O, because the OCR software has trouble with a lot of those combinations.

They wound up developing their own typeface for it. It might not win any beauty awards, but it makes these differences really distinct and doesn't give you -- well, me -- a headache. If you're looking for something strictly utilitarian, check it out.

Ann Onney-Musse | Sep 25, 2004 10:06 PM

I think JMK's "neep" font is the best for programming:
Check one size out here!

Rudi Cilibrasi | Sep 26, 2004 02:07 AM

In so far as possible (Mac user here), I've tested many of the fonts mentioned here. For now, I choose to set my aliased text in Mr. Simonson's version of Anonymous 10.

I'm very intrigued by Schiavi's Pragmata, which looks beautiful at 9-12. It's half price ($54) at MyFonts until October 1. Hmmm, do I have fifty bucks in my Paypal?

Mr. Papazian's Mana-13 (here and here ), which is not monospaced and will soon be released 11, also looks really good to me.

timfm | Sep 30, 2004 06:18 PM

I second Proggy Clean. I've been using it for the last year and a half or so. Never been confused about what character I'm looking at.

Proggy Fonts

David Grant | Oct 1, 2004 02:18 PM

Well, I broke down and bought Pragmata and I couldn't be happier with it. It's multitudes more comfortable and legible to my eyes at 9-12 than anything else I've tested.

For those of you considering a jab along the lines of "why pay when you can get one for free" -- well made faces take an enormous amount of work to create and my overworked eyes are certainly worth the price.

timfm | Oct 1, 2004 04:08 PM

The best fonts I've used are Lucida Console 14pt (with font smoothing) for my desktop PC, and Bitstream Vera 10pt (cleartype) for my notebook. I've downloaded probably hundreds of programming fonts and these are the best (for me).

Stoyan Damov | Oct 1, 2004 09:34 PM

Though it does not meet your stem requirement, Crisp is an excellent font for those looking for something larger than the Proggy family.

David Chen | Oct 2, 2004 01:42 AM

This is a very interesting discussion, but literally none of the mentioned fonts has support for Latin-2 characters.

None but Lucida Console and Andale Mono. These are the only usable for me, which is really sad, as I like Crisp and ProggyClean very, very much.

Aleksandar | Oct 2, 2004 11:00 AM

I program in Java, C++, etc., on Windows (which should explain the font-rendering environment), and still prefer a monospaced font.

My choice is Andale Mono (I still don't know where that font comes from, but it seems to be installed on the computers I use). Lucida Console is acceptable for me, and Bistream's free one that was mentioned is not too bad. But Andale Mono is just that bit nicer. Looking at samples from other fonts suggested in this thread, some appeared okay, but none convinced me I should change.

By the way, I never really understood the desire from some programmers for tiny fonts, particularly condensed fonts. Sure you can get lots on the screen but isn't it kind of bad practice to use much more than 80 characters? If a line gets too long, you just hit Return to make a convenient, readable break. That's why modern IDEs usually offer to display a margin ruler.

One annoying programming/font situation is if you need to include Japanese characters and if your development environment isn't smart enough to switch to a separate font for those. The default Japanese fonts that come with Windows have pretty damn ugly ASCII...

--sam

sam | Oct 2, 2004 03:03 PM

Monaco 9, all the way.

Sam Ryan | Oct 2, 2004 05:36 PM

Sam (#1), two questions:
1) How much would you pay for nicely-designed bitmap font that supports extended Latin?
2) How many of you are there?

(These questions are not rhetorical.)

hhp

Hrant | Oct 2, 2004 05:48 PM

I've been using Andale Mono for a long time. It originally came with IE 5.something and was then available from Microsoft as a free font. Recently they pulled the plug on the free fonts but they're still available on Sourceforge as Microsoft core fonts.

FastJack | Oct 3, 2004 03:16 AM

I've always liked the Schumacher "fixed" bitmap font that came with some X11 distributions, particularly the 10x6 and 12x6 flavours...

Graham | Oct 3, 2004 08:42 AM

Never used it, but Triskweline certainly fits in this category.

Rachel | Oct 4, 2004 11:41 AM

I third Proggy Clean! I've tried most of the fonts mentioned here, but Proggy Clean has topped them all, especially in the lucidity/screen space ratio.

SB | Oct 19, 2004 11:06 AM

I wrote earlier in this thread: I know of another mono font currently in development that may offer stiff competition to all-comers. I can’t say more now.

Now I can say more. The typeface to which I referred was Luc(as) de Groot's new Consolas, one of the MS ClearType Font Collection families that will ship with the next version of Windows. This was shown in public for the first time at ATypI in Prague, attendees of which received a book about the ClearType Font Collection.

John Hudson | Oct 20, 2004 09:27 AM

Hi guys, awesome discussion. I settled on the Bitstream Vera Sans Mono at 8pt as mentioned above. I was wondering what variable width font would be a good choice to use in the rest of my editor (Eclipse)? I would like it to be highly visible but also narrow, so I have more room.

Nate | Nov 17, 2004 08:33 AM

What pixel size?

hhp

Hrant | Nov 17, 2004 10:09 AM

Something like 12px/9pt.

I'd also be interested in a raster version of Bitstream Vera Sans Mono at 9pt. :)

Nate | Nov 18, 2004 02:24 PM

Proportional, highly visible, and narrow? 12 pixel? I got Mana-13 for you, and the 11 pixel cut is almost finished. You can see a preview of the 11 at the end of this SpeakUp thread - which I hope one of youz can bump up to the top by posting a comment... :->

As for "rasterizing" outline fonts, I think there are utilities out there that can do that, no?

hhp

Hrant | Nov 18, 2004 03:38 PM

Let me preface this by saying I'm not a font guru. I'm your end user. :) I started my journey wanting something better for programming than Courier New, which I've been using for years.

After using Bitsream Vera Mono at 9pt for a few days, I have some complaints. Here is what I am seeing...

The kerning here is baaad. Why is this? I had thought it was because it is a TT font, and this is the reason behind me asking about a bitmap version. Would a TT->bitmap utility be able to fix this?

The dollar sign is too small. It is often used as a prefix and "$s" doesn't look too great.

The underscore could be raised to match the bottom of the letters. It is used to seperate characters in names.

I wonder if there is a utility that would allow me to edit the font to make simple changes such as these last two? I've yet to google it, but feel free to narrow my search if you like. :) Even if there is such a tool, I'm afraid I'll be unable to fix the kerning.

I'm open to trying new fixed-width fonts, though I have looked at ~40 so far, including all mentioned in this thread. Is there a Mana Mono?

The Mana 11 preview looks very nice indeed, I would love to check it out when it is ready!

Nate | Nov 19, 2004 10:21 AM

Nate, I don't think kerning is the problem you're seeing. The fact is, monospaced fonts by definition have no kerning in them, otherwise they wouldn't be monospaced anymore. I'm guessing that what you don't like is the spacing.

By their very nature, monospaced fonts are very difficult to space evenly because certain characters (like i and m) do not lend themselves to being made the same the width as other characters. Aside from that, in your samples of Bitstream Vera Mono it looks like there is too much space to the left of the lowercase t. This could be the way it's designed or it might just be the way it looks at this particular size.

I think the main problem here, though, is that the space between the lines is too tight. This tight line spacing amplifies the flaws in the character-to-character spacing. I don't know if it's possible to change the line spacing in the programming editor you're using, but give it a try if you can and see if that helps.

Mark Simonson | Nov 19, 2004 11:09 AM

Nate, it sounds like you need to commission your own font! :-) Although I agree that the underscore is way too low. The dollar sign on the other hand is probably made to match the height of the numerals - are they what's called "3/4 height"? Basically all the same height (unlike "old-style" numerals that go up and down) between the x-height (the main body of the lc letters) and the cap height. This is done to make strings of numerals not appear too big in running text. On the other hand I guess you could say that a mono font -being useful mostly for programming- should have numerals (and dollar sign, etc.) at cap height.

As for the bad kerning (and stuff like that "m" with colored fur), that's probably due to ClearType (or at least the current implementation of it) which largely ignores the delicate, intelligent hinting in fonts like Vera.

ManaMono: Eventually, but frankly not too soon; I first want to release Mana's 9 and 8, and then my Georgia-killer (in the nicest possible way).

hhp

Hrant | Nov 19, 2004 11:15 AM

Thanks for the clarification Mark.

Hrant, your remark about ClearType got me to figure out how to turn it off -- WOW!! ClearType completely *ruins* a font, distorts glyphs, destroys spacing, and generally just blurs everything. Turning it off is a HUGE improvement! All the spacing in Vera Mono is now perfect. I feel embarrassed that I posted that horrible screenshot.

I now need to re-audition all the fonts I have looked at!

Since ClearType was making the fonts darker, I now find Vera Mono to be too light at 9pt, especially when a slightly lighter color (like the green in my screenshot above). If I don't like one of the other fonts more, I may just adjust my colors.

When I do settle on a font, I may try rasterizing it with some utility then I assume I can make small modifications to get it exactly how I like. While I would love to commission a font and even gave it some serious thought, I don't have the kind of budget I'm sure all the work of creating a font takes. Plus I think it will be fun! :)

Nate | Nov 19, 2004 12:46 PM

> I now find Vera Mono to be too light at 9pt

That's actually one advantage of ClearType*: you can have weights "between" whole pixels. On the other hand, this is also a feature of anti-aliased type in general, the hand-made kind furthermore not suffering from either color fringing or [too much] blur.

* BTW, it's only fair to point out that CT works much better with fonts designed for it.

Also, check out this useful thread.

hhp

Hrant | Nov 19, 2004 01:42 PM

9x15bold bitmap terminal font that is on any linux box. can be used for hours and hours.. who needs silly vector fonts when you can have the real deal? all you're really asking for is something that emulates the old school terminal

gd | Nov 19, 2004 07:04 PM

GD, could you put up a character set (or at least a nice showing) of that font? One thing I'm wondering about is how those 15 vertical pixels are used - that's a lot a span. I'm thinking it encompasses: all the glyphs including accented caps; and one blank pixel. Nine makes great sense as a width though.

hhp

Hrant | Nov 21, 2004 10:51 AM

Question:
Which is better/worse, a coding font that's very loose and seems narrow, or one that has very uneven spacing and seems wide?

hhp

Hrant | Nov 26, 2004 10:46 AM

There is a full Unicode monospaced font called Fixedsys Excelsior (currently at v2.00) which is modelled after Windows Fixedsys font. I find it to be quite good for coding.

Gleb Dolgich | Nov 30, 2004 04:44 AM

Hrant, I'm not sure what you mean by loose. Narrow characters are good to fit more on the screen, but would be bad with too much space between each character. I think even spacing is very important as it helps your mind group the monospaced characters together.

Nate | Nov 30, 2004 09:23 AM

I've experimented with a lot of different vector fonts under X11 & [xae]term, but I've always gone back to the good ol' bitmapped "fixed" font. I think given a relatively small font size it doesn't make sense to waste pixels on anti-aliasing or whatever. (On the other hand, X11's rasterizer isn't that good, especially at small font sizes... and it's my own fault I use a 10-pixel font on a 115ppi display.)

I definitely prefer fonts with less spacing between characters, as otherwise word recognition becomes difficult. These days I don't "read" the screen so much as "recognize" it; coding has the advantage of using few unique words, and I find I can look at a window and know what it says without looking at every character or individual word.

Different courses for different horses, or something like that. I also use white text on dark/black backgrounds (after having done the opposite for many years) and I avoid colors for highlighting.

42ndSSD | Nov 30, 2004 10:29 AM

While I'm still loving PragmataTT 12 for apps that support aliased text, I like Bitsream Vera Sans Mono 12 for those that don't.

timfm | Dec 3, 2004 09:42 PM

> given a relatively small font size
> it doesn’t make sense to waste
> pixels on anti-aliasing

Unless you do it by hand, which lets you apply anti-aliasing moderately for smaller sizes. Less improvement over 1-bit compared to larger sizes admittedly, but still.

> I definitely prefer fonts with
> less spacing between characters,
> as otherwise word recognition
> becomes difficult.

1) But doesn't uneven spacing do the same thing?
2) I'm working with the belief that reading code is non-immersive, or at least that its fovea-based; and the way I interpret Kevin Larson's research about reading, to me this means individual letters matter much more than boumas (word/letter-cluster shapes) in code.

But there's still such a thing as too wide, throwing off a healthy balance against [un]even spacing.

> Bitsream Vera Sans Mono 12

Do you mean 12 point in Windows = 16 PPEM, or do you mean 12 PPEM?

--

Please tell me what you think of Coda-14, shown towards the end of this Typophile thread. There will also be an 8-pixel-wide, 1-pixel-stem cut that's either 12 or 11 pixels tall.

hhp

Hrant | Dec 3, 2004 10:23 PM

ProggyClean for me here as well. Love it.

Skip | Mar 11, 2005 03:56 PM

I have tried many fonts but has not found anyone more suitable for programming than the default font used in the GWD text editor. Everything about this font is perfect. The size, proportion, clarity, etc. I wish the author could release the font alone.

Nader | Mar 18, 2005 09:16 PM

I've tried about 30 different font combinations in various editors and settled on a great mono TrueType font called HVEdit. (http://www.procon.com.au/HVEdit.htm)
Very clear distinction between all chars and numbers and large clear glyphs. Also use a bitmap version of it in some editors.

Ed Ribachonek | Apr 7, 2005 06:10 PM

> Very clear distinction between all chars

Like the "R" and "A"? And I really like the stroke weight imbalances, that wonderful "u", and the fact that the descenders of a line touch the ascenders of the next...

I'll try to put up a comparison with my stuff tomorrow.

hhp

Hrant | Apr 7, 2005 11:15 PM

More a revelation of what's possible
than an exposition of what's available:
(24Kb) http://www.themicrofoundry.com/other/vsHVEdit.gif

The top-left is Mana-16 (which is proportional, not monospaced) and the bottom-right is Coda-14 (which is monospaced, but in a very early prototype stage). Coda-14 takes up a lot more room (although less vertically - which is often more relevant in programming) but that's because it's much larger on the body - intended for very hires displays; there will be an 11 or 12 PPEM cut of Coda as well.

hhp

Hrant | Apr 8, 2005 01:22 PM

I forgot that I actually have a prototype of the 11 as well:

hhp

Hrant | Apr 8, 2005 02:24 PM

Why are your samples black on bright green? I find that rather hard to look at.

Mark Simonson | Apr 9, 2005 07:18 AM

I was matching Ed's sample.

hhp

Hrant | Apr 9, 2005 07:28 AM

For some reason, Dreamweaver renders Andale Mono smaller than other apps. I prefer Dreamweaver's rendering, and am trying to find out how to get other apps to use the same font.

I've created a page which talks about this issue (and includes screen grabs).

Please let me know if you have any suggestions.

Thanks!

Travis | Apr 9, 2005 09:26 AM

The Andale Mono 7 spacing is awful too.

Stephen Coles | Apr 9, 2005 12:45 PM

Does Dreamweaver's 8pt Andale Mono in my example look "perfect" to you too, or am I just used to it?

I'd love to find another small font which is easy to read at 1280x1024 on a 19" monitor for 8+ hours a day.

So far all the ones I've tried (proggy, anonymous, prowin, terminus, etc.) seem either "cramped" or "thin" to my eyes.

I don't know if I just favor the Dreamweaver 8pt Andale Mono because I've been using it for a couple years, or if it actually *is* a "better" font than those other ones.

Is it at least a good one, to your eyes?

Travis

Travis | Apr 10, 2005 09:18 AM

> http://www.themicrofoundry.com/other/vsHVEdit.gif

Are you sure that's Lucida Console? Looks more like Courier to me. Anyway, to my eyes the Console/Courier sample is by far the clearest and most readable.

Matt G.

Matthew Guard | Apr 11, 2005 07:36 PM

I'm not sure it's Lucida Console - I just grabbed it from that Procon site.

I think at that point size 1-pixel stems result in text that's simply too light. You don't think Coda-14 (bottom-right) has much better "presence"? At smaller point sizes 1-pixel stems become preferred, but some gray "reinforcement" (like in Coda-11) can prevent bitmap letterforms from degenerating into just a heap of horizontal and vertical straight lines stuck together at their corners.

Certainly, a lot of it is what people are used to. On the other hand, since human vision and visual cognition have certain inherent attributes, it seems pretty certain that some features (like enhanced foreground/background contrast, higher-fidelity curves, etc.) can take you "higher" once you get used to them.

hhp

Hrant | Apr 11, 2005 09:52 PM

i need the source code of changing font size in C language via interrupts

hano | Apr 26, 2005 11:05 PM

Well, I tried most of the free fonts suggested here. Some of the free fonts were good (proggy clean comes to mind), but there was always something about a particular free font that annoyed me. In the case of proggy clean, it simply was not legible at larger point sizes. I finally decided to pony up for Pragmata and I could not be happier. I use it as my console font for xterms and editing code. It rocks!

UK

uk | Apr 28, 2005 01:12 PM

One more vote for Bitstream Vera Sans Mono.

Luxi Mono hasn't been mentioned yet...

http://users.pcnet.ro/sp/Luximono.PNG
http://users.pcnet.ro/sp/LuxiMono_Regular.ttf

A | Apr 29, 2005 07:33 PM

One more vote for Bitstream Vera Sans Mono.

Luxi Mono hasn’t been mentioned yet…

http://users.pcnet.ro/sp/Luximono.PNG http://users.pcnet.ro/sp/LuxiMono_Regular.ttf

Nice looking, but the .ttf refuses to install on my system. :(

thetorpedodog | Apr 30, 2005 07:17 PM

I bit the bullet and bought Pragmata a while back (at 1EUR = 10 local currency units) prices, and its still worth it.

If you're going to be looking at text for long periods of time, no sense it being ugly.

ProFont is good as well, but Pragmata has amazing hinting.

Leon Breedt | Aug 1, 2005 03:26 AM

It's looking like Pragmata and Consolas have become the two peaks of mono fonts. Leon, could you please tell me the pixel widths of Pragmata at each PPEM*, let's say from 9 to 16? I'm wondering how Schiavi has handled the width progression - it would be much appreciated.

* Careful: not point size.

hhp

Hrant | Aug 1, 2005 11:09 AM

http://groter.mynumber.org/peeing-in-toilet/511174/pissingvideotrailers.html stickingswitchbladethirsty

dragging | Sep 22, 2005 08:56 PM

It's probably too late, but I still would like to present my own work. It isn't something good, it's just what I currently use. The purpose was to minimize the font size keeping all glyphs easily readable (to see as much text as possible). They are pure *raster* fonts, usable at up to 1600x1200 screen resolutions. It's bad from the point of view of typography because generally there are no serifs, but in certain letters there are: i, l, I, 1. I have decided that it's more important to distinguish between "I" and "l", between "1" and "l", than to follow strict rules.
Also, I used some free (and very buggy) font editor and the fonts have some incorrectness in their format. I would appreciate if someone, who consider them useful could fix it.
So, the screenshot:

The link:
http://antigrain.com/stuff/mcs_fon.zip

It's for Windows only. I know it's kinda ancient; and something like ClearType isn't applicable to it, but I still use it in my everyday work and I haven't seen anything better.

Any criticism is appreciated.

McSeem | Oct 7, 2005 04:39 PM

You might find this article interesting. Suprisingly, Bitstream Vera Mono came out the highest.

Francis Vidal | Nov 21, 2005 08:37 PM

Here is what I created from BitStream Vera Mono...
http://www.n4te.com/tools/LavaMono9.gif
http://www.n4te.com/tools/LavaMono9.fon

Nate | Dec 1, 2005 05:20 PM

The latest version of my fully scalable and hinted programming font with italic and bold variants included is available from http://damieng.com/envy-code-r where you can see screenshots in action.

[)amien

Damien Guard | May 26, 2008 02:29 PM

Maybe it's time for a follow up article? There must have been some good fonts created in the meantime.

Koen | Aug 17, 2008 12:16 PM


Post a comment.

Your Name (Required.)


Your Email (Required. Will not be published.)


Your Website (Optional.)




Your Comments


Despaminator
Please enter the letter "b" in the box at left.



GUIDELINES
Please refrain from off-topic banter and personal attacks. Your comment may be edited or removed at the discretion of Typographica editors. Our goal is not to stifle debate but to keep it relevant.

HTML TAGS (Copy, paste, and replace the gray text with your own.)
Bold: <strong>Text</strong>
Italic: <em>Text</em>
Link: <a href="http://url">Linked text</a>
Insert Image: <img src="http://url/image.gif" />
(Please limit image width to 350 pixels.)