
The Best Programming Font: M+ - tmcw
http://www.macwright.org/2014/07/09/mplus.html
======
KhalPanda
> "The best monospace font for programmers is M+."

Seems there's a bit of a grammar issue here, I've fixed it for you:

"My favourite monospace font for programming is M+."

~~~
ramblerman
It's considered good writing style to write the first sentence, the second is
implied.

Unless you're presenting historical facts or figures, If every sentence in an
article had the author qualify himself with 'imo', 'that's why I think that',
etc... it would be a pain to read, and the argument would be a lot weaker.

~~~
nfoz
I don't know, I strongly prefer the explicit "IMO" where correct. Most people
_do_ mix up, in their writing, statements of opinion and statements of fact.
It's really annoying to leave the burden on the reader to figure out which is
meant.

~~~
voxic11
I don't know, I strongly prefer the explicit "IMO" where correct. IMO most
people do mix up, in their writing, statements of opinion and statements of
fact. IMO it's really annoying to leave the burden on the reader to figure out
which is meant.

~~~
rubicon33
well played

------
ajarmst
Hmmmm. When teaching basic physics, I sometimes have trouble illustrating the
difference between energy and work for my students. But this solves it! Post
something with a title of "The best x for programmers is y", and you can watch
the expenditure of an enormous amount of energy - yet, zero work.

------
izzydata
"Retina Displays"

So I guess it looks bad on high resolution screens that aren't on apple
devices? Why do people even use this term when not referencing magical apple
lingo?

~~~
sp332
Because it has better branding, and fewer syllables? You didn't have any
trouble understanding what was meant, and I'd guess no one else reading the
article did either.

~~~
p3lim
Because UHD is hard to say/write?

~~~
sp332
What do you dislike about "retina"?

Edit: UHD is really ambiguous, it could refer to anything with the initials
UHD.

------
adamors
I've yet to find a font that I like more than DejaVu Sans Mono. It strikes the
perfect balance between being monospaced and looking good IMO. Plus it's open
source easily installable everywhere.

I've tried almost every other "programmer" font but there's always something
that rubs me the wrong way. In the case of M+, it just looks thin and silly.

~~~
tormeh
I looked it up in gedit, and it turns out Dejavu sans mono and Ubuntu mono are
practically identical. Really minute details. I prefer Ubuntu because it's
less fuzzy on my non-retina screen, though. For fun, try Tex Gyre Chorus
Medium and show it to a programmer and say it's your favorite programming
font.

------
Touche
I'm a professional programmer. I know quite a bit about computers. I don't
claim to be the smartest guy in the room but I'm no dummy.

And I have no idea how to install a font. I download the zip and open it and
there are 43 (43!) ttf files. I can install them by double clicking the file
and selecting Install Font.

But then what? I now have 43 new fonts, but how do I know which one to use in
my editor? Can someone explain this for a dummy?

~~~
ww520
What editor are you using?

In Emacs, put this in the .emacs file to set up the default font at startup.

(set-face-attribute 'default nil :family "Source Code Pro" :height 110)

~~~
Touche
I use Vim, but my question is which of the 43 fonts do I want to use?

~~~
BSousa
You will probably have to set the terminal font and not Vim's.

In any case, usually when there are various ttf files for a single font, they
all belong to a Font and then have variations (Medium, Medium Italic,
Condensed, etc) Depending on the software, it maybe presented with 43
different fonts, or one single font, with variations (On mac, if you open Font
Book, you get the font name, then you can expand to the variation, don't
remember how it works on Windows)

~~~
Touche
So which variation do I want? I use MacVim which gives me a font selector that
you select the variation.

------
ChikkaChiChi
In defense of the design of this project, tall and thin is in. Oregon Speed
Limit signs now use a taller and thinner font that is much easier to read at
distance. Also the NHL used new fonts to number their jerseys for the Stadium
Series so that the fonts could be seen at greater distances.

[http://www.markyville.com/aaroads/SpeedLimit-
OR.png](http://www.markyville.com/aaroads/SpeedLimit-OR.png)

[http://icethetics.squarespace.com/storage/blog13/1213-pit14s...](http://icethetics.squarespace.com/storage/blog13/1213-pit14ss-
back.png?__SQUARESPACE_CACHEVERSION=1387001395641)

PS: Go Pens.

------
bithush
A little too thin for my tastes. I quite like Consolas or good old Courier
New. To me the font width isn't all that important compared to the font height
as I am not pressed for width but an extra couple of lines visible vertically
is almost always wanted. Consolas is a nice balance at 11pt.

------
omellet
False. The best programming font is Consolas.

~~~
facorreia
I just tried Consolas again, inspired by this article[1]. I like how it is
short and shows a lot of vertical lines. And it looks good. But after
comparing it side-by-side with Monospace (default on Linux Mint), I'm sticking
with it. I just like more how it looks, it seems clearer to my eyes.[2]

[1] [http://hivelogic.com/articles/top-10-programming-
fonts](http://hivelogic.com/articles/top-10-programming-fonts)

[2] [http://i.imgur.com/1FRVhWh.png](http://i.imgur.com/1FRVhWh.png)

~~~
TylerE
You probably need to do the illegal-in-the-US cleartype font patches to get
non-half-assed linux font rendering.

~~~
farresito
I think it's completely legal by now, since the patents expired a couple of
years ago (or something like that).

~~~
a_e_k
As I understand it, the patents on bytecode hinting have expired. I wouldn't
be surprised if subpixel antialiasing was still patented.

------
facorreia
It's more condensed horizontally, but has a greater line height. As a result,
I can see less lines at a time with this font.

~~~
pbreit
In many/most editors you can adjust line height (although in TextMate it is
surprisingly hard to perform such a thing).

------
donniezazen

      mplus-fonts-common.noarch : Mplus, common files (documentation…)
      mplus-1c-fonts.noarch : M+ C is optimized to be proportioned and has two variations
      mplus-1m-fonts.noarch : M+ M emphasize the balance of natural letterform and high legibility
      mplus-1mn-fonts.noarch : M+ M emphasize the balance of natural letterform and high legibility
      mplus-1p-fonts.noarch : M+ P is aimed as sophisticated and relaxed design
      mplus-2c-fonts.noarch : M+ C is optimized to be proportioned and has two variations
      mplus-2m-fonts.noarch : M+ M emphasize the balance of natural letterform and high legibility
      mplus-2p-fonts.noarch : M+ P is aimed as sophisticated and relaxed design
    

Looks like Fedora users have a lot of choice. Which of these is the author
talking about?

~~~
mgmeyers
M+ M are the monospaced fonts

~~~
donniezazen

      mplus-1m-fonts.noarch : M+ M emphasize the balance of natural letterform and high legibility
      mplus-1mn-fonts.noarch : M+ M emphasize the balance of natural letterform and high legibility
    

Apologies, I am not sure which one of these you are talking about.

------
cmpaul
Maybe it's because I'm getting older, but no programming font comes close to
Monaco in terms of clarity and character balance and spacing (vertically and
horizontally).

Ultimately it comes down to being able to patterns quickly in the code. You
can train yourself to do this with any font.

------
jggonz
I personally prefer to use Times New Roman.

~~~
awalton
Using a serif font face for programming? You are a brave man.

------
platz
Bitstream Vera Sans Mono occupies a nice middle-ground on Linux for
programming, almost like Monaco but a little clearer, if more boring. Have
preferred compared to others so far.

I couldn't get Monaco, a little more eccentric but sometimes nicer to look at,
to render correctly on Linux. Wierd line heights and hinting problems.

------
ChikkaChiChi
The 0 should always be slightly more oblong than the character O, even if you
are using a slashing it.

Other than that, this is a decent retina font, but so are Anonymous Pro,
Inconsolata-dz, Consolas, and Source Code Pro; and those all also come with
options for Powerline.

~~~
Zardoz84
Not forget Hermit font

------
ww520
I've tried different programming fonts, and finally settled on the old Source
Code Pro font. I don't like overly narrow font. It's just a personal
preference. There's no "best" in subjective personal taste.

------
mtford
I'm a huge inconsolata fan myself.

~~~
grmarcil
I just compared Inconsolata and Consolas side by side and couldn't believe how
similar they actually are. Whenever I just swap between the two, it's hard to
compare, since Consolas seems to run about a point bigger looking than
Inconsolata, so I have to scale it back a bit to give a real comparison.

Not surprising considering the author of Inconsolata cites Consolas as his
primary inspiration, but I'd never noticed exactly how close they are. Both
great monospace fonts. Very nice characters, but what really makes them stand
out to me is that they both manage their kerning very well, especially around
thin characters. Many other monospace fonts, including M+, end up with awkward
gaps that approach a full space width and give the text a slinky-like
compression/decompression effect, making reading and determining word breaks
at a glance difficult.

------
poolpool
One of the best designed and most complete programming fonts is PragmataPro.

[http://www.fsd.it/fonts/pragmatapro.htm](http://www.fsd.it/fonts/pragmatapro.htm)

------
thathonkey
Fonts are quite the subjective thing. M+ looks a little on the thin side to
me. I greatly prefer Menlo (regular, which happens to be the default for
Sublime Text on OS X) or Consolas.

~~~
TheOtherHobbes
I'm not sure that font choices are entirely subjective. Legibility matters,
and it's not impossible that better legibility means fewer bugs and less
eye/brain strain.

It would be cool if there was objective research into this. (I don't know of
any, but I haven't tried searching very hard.)

I can't look at M+ without seeing M+. With other fonts - I'm old-fashioned and
like Menlo, but I've tried many others - all I see is code.

~~~
thathonkey
Of course they aren't entirely subjective! There are objective ways that fonts
can be assessed for sure. In fact, there's an entire documentary on Netflix
about Helvetica (and titled the same).

------
pbreit
It's surprising to me with the advent of retina screens that there are so few
narrow options (M+ is the only one I've seen). Aesthetics aside (although M+
is quite pleasing to the eye), I think the narrowness functionally =is=
better.

However the line height is quite tall which I'm not sure is an attribute of
the font or text editors. TextMate still inexplicably has terrible line height
management (you have to mess around with 2 terminal command settings).

------
andrewchoi
Is this a new kind of holy war? First we warred on what platform to run, then
what we run on the platform, and finally how we display what we run on these
platforms?

------
skywhopper
I can see the value in a legible monospace font that's compressed
horizontally. That said, I'm pretty happy with Inconsolata these days.

------
swah
I thought every font looked good on retina displays, since my problem is
always to find fonts that are well hinted and look sharp in small sizes.

~~~
a_e_k
Both of those were prime motivations for me when I created my Luculent font
[0]. If you haven't seen it already it might be worth a try.

[0]
[http://www.eastfarthing.com/luculent/](http://www.eastfarthing.com/luculent/)

~~~
swah
Nice - reminds me of Envy Code R. Thanks for linking this!

------
drhayes9
Caveat: "Infinite are the arguments of mages."

My current favorite programming font is Inconsolata, but I'm being swayed by
Source Code Pro.

------
matthuggins
As a developer, this font looks like it would be terrible for trying to scan
code. Way too thin for my taste.

------
h1d
Everytime I come across these programming font articles, no one seem to
mention about BPMono, which I've been using for years exclusively and loving
it.

[http://backpacker.gr/font.asp?m=1&font=bp2](http://backpacker.gr/font.asp?m=1&font=bp2)

------
Demiurge
I tried it, and actually don't like the narrowness. It's less readable to me.
Also, the light version isn't nearly as sharp as Source Code Pro Light. I
think I will be sticking to Adobes font as my favorite...

------
monkeyprojects
Surely its comic sans. It adds that certain something to most pieces of
code...

~~~
Squarex
Fantasque Sans Mono, font inspired by Comic Sans, is actually pretty cool.
[https://github.com/belluzj/fantasque-
sans](https://github.com/belluzj/fantasque-sans)

~~~
bloke_zero
I've been using this for a while and it's just nice to use - easy on the eye
some how.

------
smacktoward
Oh good, a "the best programming font is [INSERT COMPLETELY SUBJECTIVE
PERSONAL OPINION HERE]" article.

Next up: what's the best text editor? You all start the discussion while I go
pop some popcorn.

------
cliftonk
I have spent a significant amount of time with many programming fonts. My
favorite monospaced font is Menlo. That said, I'm farsighted and prefer fonts
with more weight.

------
unwind
The compressed archive containing this font is 37,6 MB. This makes me feel
very old.

Of course there are more than 40 individual TTF files in the archive, but
still: almost 40 MB! Yikes.

------
ashmud
For tiny text, my preference is ProFont.
[http://tobiasjung.name/profont/](http://tobiasjung.name/profont/)

------
mavick
Ubuntu Mono for me.

------
norswap
How does it compare to Monaco?

------
ramgorur
font looks neat, but I think it's a bit taller than luculent
([http://eastfarthing.com/luculent/](http://eastfarthing.com/luculent/)).

I like luculent.

------
superpluto
Yall trippin. The best font for programming is Anonymous Pro.

------
leishulang
Only M+ 1m, 1mn, 2m have those features author mentioned.

------
jefurii
Personally I prefer to code on an array of Nixie tubes.

------
bulte-rs
I actually quite like Unifont for coding :S

------
mykhal
i think that Terminus is yet bester

------
uptownJimmy
You seem confused.

