Top Programming Fonts
hivelogic.com
hivelogic.com
Pretty much every Linux machine has a version of this, but most modern Debians (and probably others) that ship with fontconfig have bitmapped fonts turned off by default for programs that use fontconfig for their font info (i.e., not xterm, but gnome-terminal, usually gvim, et cetera).
If you want to use Fixed and other bitmapped fonts and they're just not there, take a look in /etc/fonts/conf.d for a file named (something like) 70-no-bitmaps.conf, a symblink to the same filename in /etc/fonts/conf.avail. If you remove the symblink from /etc/fonts/conf.d and instead
ln -s /etc/fonts/conf.avail/70-yes-bitmaps.conf \
/etc/fonts/conf.d
fontconfig will cache bitmapped fonts for you. Then you'll just have to get it to update your cache with fc-cache -f -r -v
and you should be able to use bitmapped fonts like Fixed.You can look for other bitmapped fonts on your system with
fc-list ":scalable=false" family pixelsize
which prints out the family name and the sizes for which the bitmaps are available. set guifont=Fixed\ Medium\ Semi-Condensed\ 10
makes gvim look precisely like a terminal for me.I tried Inconsolata briefly in my xterm window but ... I don't know, I didn't like it. I guess it's a subjective thing, but I dislike anti-aliased font, I prefer the crisp look of my fixed bitmap font. :-)
Just tried it under a Debian chroot on my phone (N900) and it was tiny but very readable on the 250DPI screen as well.
As this is entirely subjective, the answer for some people might be that it's unusable above 75dpi, while for me it's fine up to >3x that.
http://stackoverflow.com/questions/3275956/is-there-a-versio...
If you have that same quibble, good news: Inconsolata-dz[1]. Inconsolata with straight quotes.
[1] http://nodnod.net/2009/feb/12/adding-straight-single-and-dou...
A person can't fit quite as much on the screen but I find the extra spacing makes it much easier to read (eg emails).
I encourage you to try something like Verdana for a week just to see how it feels.
I might actually give it a few days and see what happens.
Personally I find that kind of alignment unnecessary and creates too much busywork. Proportional fonts prevent you from even trying. (Unless your editor supports elastic tabstops, but since very few do this is moot.)
FWIW, I program in Georgia, until I find a serif font I like better. EVERYONE comments on it.
All joking aside, the choice of font should reflect what it is that you are trying to do with the text.
In theory a serifed font is more readable if you are reading the entire text, whereas a sans serif font is supposedly better for skimming through looking for something in particular.
(so on a web page with an article, the article text should be serifed, and the sidebar menu should be sans serif)
An application of this might be that if you are printing out a codebase in order to read it in entirety for the first time, you should use a font with serifs.
whereas if the codebase is relatively familiar to you, but you are printing it out and going bug hunting or reviewing the code, use a sans serif font.
I actually mix a bit of monospaced in... I have Xcode make comments monospaced. Which is nice, because it makes them fade to the background a bit.
Edit: screenshot here: http://i.imgur.com/xv5oz.png
Also, what color scheme is that?
Thanks a lot!
It's just painful to watch!
The non grid alignment, randomness, just makes it more distracting to me. Perhaps if I was exposed to it for a long er period of time, a week as you suggested, this uneasiness will slowly fade.
But, let me ask you: What's that you find so good about it? More content in less space? Why won't you go back?
Why would proportional font be easier to read? No idea, honestly. May be related to fact I read a lot of non-code (documents and fiction) as well, and those almost always come in proportional fonts.
With proportional font, the left-hand whitespace used for indentation of your code looks exactly as with monospaced font. Only the text itself changes somewhat.
The width of tab/positions of tabstops has nothing to do with font itself; it's property (often settable) of the editor (or in rare case of the underlying terminal). May be expressed as `times the space width', but that's it.
Perhaps you mean aligning of function argument and/or parameters one below another, or indentation of parts of expressions one below another? That indeed can't work with proportional font IF the peers in your project use different font (size or shape) or tab-stop setting. Can't work with monospaced font either -- again, IF the peers on your project use different tab-stop settings. Which is prevalent, AFAIK. Some use 12'' netbooks, other use 23'' desktops. I've even known a guy who used a T221 [1]. One size does not fit all.
Nb., you may want to read up on http://nickgravgaard.com/elastictabstops/ if you like to align stuff that way. I don't like that idea though.
----
If you're on projects with other devs where there is an in-grained fixed-width coding practice, it may be very hard to suddenly go non-fixed.
As for the grid alignment, I never make block-style comments and normal indentation works just the same. I am not sure what you mean with "randomness".
That said, I'm not against using a nice mono font like Anonymous Pro; I used that font in Acme to write the code and thesis for my Master's.
The first is that Verdana is really nicely hinted, which means that, unlike most other fonts out there, Verdana has the advantage of always technically looking sharp.
The second is that Verdana is mostly monolinear, like Courier or Andale or any of traditional monospaces, there's only the slightest bit of stroke variation (most of it optical), so you get style but you don't get the distraction (onscreen) of stroke modulation
The third is that most proportional fonts have a comparatively larger pitch, so you get more characters in each line, which is also what you start seeing in 'next gen monospaces' that seem to make better use of their allotted horizontal space (and seem less wonky in general).
The last, and arguably most important, is that almost all proportional fonts (verdana included) have got style. It's hard to emphasize enough that most of the arguments for Consolas or Inconsolata or Liberation or ____ are largely due to the fact that those fonts have an overt aesthetic agenda, which is sometimes not apparent in first-gen monospaces (although, to be fair, they and their brethren are stylized, it's just that we've grow numb to it)
I'm personally a monospace sorta person (i like fedra mono)--there are some really nice (alas, non-free) monos out there to choose between that are more fun to use than the more stoic traditional monospaces. Part of why proportional fonts are appealing is that we rarely need monospace fonts anymore: their use is largely vestigial (and aesthetic-driven) and also that many programming languages (python et al) often have highly literate code that benefits from typefaces designed with legibility in mind.
So i'm just sayin, i respect where you're coming from, but don't dismiss monos out of hand. There are nice ones which are coincidentally monospace, but aren't as frumpy or harsh as the monospace fonts that are typically advertised as 'best programming fonts.'
Letter Gothic, for example, has tons more style than most other fonts, proportional or not. Verdana, in that context, is to me just as to quite a bit more boring than nearly all the fonts mentioned in the article. (Courier excluded.)
I know, i know, it's verdana, the scourge of late 90s web design but it still has style (doesn't everything?), it's just that verdana has come to encompass 'corporate' and 'default' and 'websafe' in much the same way that the verizon logo encompasses 'design by committee.' Verdana's got some serious baggage, but i would hardly say it's soulless.
And in any case, it's pointless to argue this issue, but, i dunno, ten or twenty years from now, maybe we'll look back and feel differently about Verdana (in much the same way that people are warming up to Optima (the inspiration for letter gothic) again after what appears to have been a 20 year hiatus).
It’s at least nice to see that you agree that your argument is rubbish ;-)
I don't want to start an editor war but Source Insight is the best editor I've ever used and that includes Emacs and Vim. Yes I said it :-)
Would love to see a list of top 10 proportional programming fonts.
Has anyone been able to figure out a way to disable this?
Example from Eclipse: http://i.imgur.com/F3PhS.png
There really is no other choice.
I wish I could say why though. It just feels nice and computer-y. Maybe the pixels remind me of bits.
At work I have a larger display that sits farther away, and am running windows. Consolas is easier on the eyes there with two Emacs buffers side-by-side (at "108" Emacs font height).
I came across the 5x13 font (https://github.com/chneukirchen/5x13) and wanted to try it on my netbook. For some reason spaces come out as hatched boxes for me. The font itself looks promising but needs many changes (some of which I've figured enough out to make; but I don't know what to do with the space).
I'm also a fan of Dina and it's been the first change I make to any IDE or programming text editor I use since I found it years ago. I recently came across this when I started using IntelliJ IDEA and needed a TTF font: http://chrisrickard.blogspot.com/2010/03/dina-font-for-visua... . Quote from the page:
*bonus* I found that this font can also be used with any .NET application
(WPF or Windows Forms) that normally can't handle raster fonts.
Screenshot: http://2.bp.blogspot.com/_n07tuwMNUu8/S603jWw9ZVI/AAAAAAAAAK...And for anyone else curious here's the original font:
Other than that it is a welcome improvement to Menlo regular.
Eclipse has its lines of text set-solid which is seven brands of evil, so the "M" version of Meslo is a godsend.
-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1 Droid Sans Mono makes for a great programming font. It’s got a bit of flair,
and stands out among the other monospace fonts I’ve listed, and its only
real flaw is the lack of a slashed zero.
I use Droid Sans Mono with slashed zeros on my Arch Linux box. I find that I can get it up to a rather large font size (I don't see well) and it still looks really good.Download link http://www.cosmix.org/software/files/DroidSansMonoSlashed.zi...
Arch Linux AUR link: https://aur.archlinux.org/packages.php?ID=40418
Consolas, on the other hand, is exceedingly crisp.
I use the solarized vim/terminal color scheme so from syntax highlighting I can tell the difference between the O and 0 but I can see why it would be a problem.
My favorite TTF monospaced font has got to be Consolas, which I use in Windows as the font for Foobar2000 and Notepad2 (I keep everything in plain text).
I wanted to add this as a comment below the article just like the author asked, but it doesn't appear for me (using Chrome dev).
The M+ Fonts: hugely recommended - http://mplus-fonts.sourceforge.jp/
When you stare at code all day, it's worth spending the time to make it as pleasant and legible an experience as you can.
[1]: http://www.fsd.it/fonts/pragmatapro.htm [2]: http://ethanschoonover.com/solarized
I use Consolas at 16pt, but I also do most of my work on a 2560x1600 monitor. Consolas at 14pt on my laptop.
On my unix system, for example, I use Vera Sans: http://www.michielovertoom.com/pictures/luyt-desktop.png
On my windows system I use Comic Sans to code, but I haven't got a screenie ready ;-)
It's a website that collects Visual Studio color schemes, so that people can download and install them rather than spending hours customizing their IDE to look like they want it to. Assuming they like one of the available schemes, of course.
http://news.ycombinator.com/item?id=615088
https://bitbucket.org/nik/consolas/
(the Microsoft license allows this if you have a license for Office, Windows Vista+ or Visual Studio)
I use a modified version of Georgia which adds a slash through the zero and changes the l (ell) to look less like the 1 (one).
[1] http://mplus-fonts.sourceforge.jp/mplus-outline-fonts/index-...
http://codeblog.palos.ro/2008/02/08/smoothansi-font-best-for...
not mentioned in the article, but I highly recommend it.
its avaliable ONLY in 10pt and only with Latin1 characters. But its so readable and beautiful I dont care :P
It also looks really good on Linux - the AA seems to work out quite well.
Edit for hey, reading the article that mentions monofur is a good idea too. :)
For a long time I was a ProFont guy. But I recently switched to Liberation Mono, and I just LOVE it.
EDIT: pic or didn't happen > http://i.imgur.com/UAag3.png
Droid Sans Mono works the best for me. I have heard many Python programmers with the same taste.
I started out using FixedSys, since it was the default on the editor I was using at the time - PFE, I think. And since taking the time to switch to the X 6x13 font (which I happened to encounter towards the end of my time at university), I must have saved enough time scrolling horizontally through other people's code to break even.
I have dicked about a bit trying out other programming fonts, it's true, but having had success the once from doing this, why not double check?
hmm... thinking out loud.
Can someone shed some light on any advantages they feel are of a reasonably significant importance, and why? I mean, I can see plenty of advantages, but they're all so negligible they're not worth even the time it takes to change font, IMHO.
...and do please note the IMHO - I'm asking, not telling :)
On another note, you probably change the default font when writing a major document in a word processor (unless your using LaTex in which case Computer Modern is often the way to go). Changing your coding font is exactly like that. People like to customize and give their system a personal flavor. Changing fonts and syntax colors is just one part of customizing a system.
But now that I’ve been using Inconsolata for years, it has become my final choice* so I won’t need to waste my time hunting and comparing for a better font. Done deal.
But in other cases, depending on your display size/setup, I guess there will be advantages to certain fonts. Now, mind you, the 10 on this list are all 'good' so you won't really see it between them, but certain monospaced fonts have letters/symbols that are more easily confused with each other... like single quote, versus the thing under the tilde (whatever its called >.<)
As if form and function is a zero-sum game. Or there's something inefficient about caring about aesthetics. What's wrong with wanting something to be aesthetically pleasing?
A couple years ago, I was doing a lot of work on both my Windows box and my Mac. I noticed that I started to regard my Mac as "soft" and "friendly", and my Windows machine (with large external monitors) was "harsh". I felt mildly stressed out working on the Windows machine, even though I would frequently switch between them sitting at the same desk.
So, on a whim, I looked up the font on the Mac (Monaco), and set it up on Putty, and (surprisingly) it made a big difference. I felt like the code I had was easier to read, and I just generally worked better.
I've since decided I like Bitstream Vera Sans Mono, but at this point it's just something I set up on new computers, with no thought. It's not a rational thing, but who ever says I have to feel rationally about my tools? :)
Follow instructions, select 6x13. Problem solved.
Monospacing And being able to see these as different glyphs easily: O0I1l
Other than that, I don't put too much though into it.
For an art director doing print or web design, each and every single detail is vital. They are attempting to ship something as close to perfection as possible. From this grows a fantastic font market where artistic craftsmen have learned to honestly, subtly insert comfort, exoticism, 70s appeal, honesty, clarity, or any of many other subjective emotions into just a few pixels difference in the shape of letters we see all day every day.
But yeah, honestly, when coding, that stuff isn't going to kill you.
At the same time, there's a huge market of experts who have often released free monospaced fonts using the accumulated knowledge of the craft described above. It's easy to find fonts which solve the obvious problems (li1, oO0, mn) and possible to find ones that solve less obvious problems (textual color which can reduce reading stress, condensed fonts which can pack more into a line without feeling cluttered, larger x-height which can appear more inviting).
'Monospace, next question?' is really 60% of what these fonts can give you. 'Modern monospace, next question?' is probably 95%. The last 5 is just there if you care about it. Like usual, the last 5% is 500x the effort of 'Modern monospace, next question', though.
Therefore the xterm font (FixedMedium6x13) wins. But getting exactly that font in other editors like it is in xterms is not so simple:
For linux, see this comment in the current discussion:
http://news.ycombinator.com/item?id=2584147
For osx, see my question, also in that thread:
Can someone enlighten me what the buzz is about here and why should I switch to Verdana or some monospaced font?