When comparing Bitstream DejaVu Sans Mono vs Input Mono, the Slant community recommends Input Mono for most people. In the question“What are the best programming fonts?” Input Mono is ranked 4th while Bitstream DejaVu Sans Mono is ranked 13th. The most important reason people chose Input Mono is:
Input can be configured online with preview: width, weight, line height, and alternate letterforms.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Very clear distinction between similar characters
It's easy to distinguish between characters such as I, 1, l, O, and 0 in DejaVu Sans Mono.
Pro Clean, readable design
Reading the text is pleasant and effortless. Letter forms combine nicely into words.
Pro It's subtle, yet stylish and extremely readable, very easy on eyes and very effective for long development sessions
Pro Nice uniform spacing
The font is well spaced and doesn't break up words.
Pro Excellent unicode support
DejaVu Sans Mono has one of the most complete Unicode fonts available. This means you have access to a wide range of special symbols including mathematical symbols like arrows, operators, and special alphabets. This is useful for certain languages that require special characters like Agda.
Some languages allow using these characters optionally. There are editor modes that display characters like this without changing the underlying file, much like syntax highlighting. The Emacs modes for OCaml and Haskell are prime examples.
Pro Available with every linux distribution and works fine in vim, emacs and atom
It's also included in modern versions of Windows.
Pro Bold font is the same width as the regular weight font
The Sans Mono version is graphically close to Andale Mono (Microsoft core web font), slightly bolder, with the added bonus of the bold font being the same width as the regular one (unlike Andale Mono). It is a nice property with some syntax highlighting text editors.
Pro Closely related to MobaFont
For MobaXterm users, this font closely mirrors the embedded MobaFont so they can use a monospace font across other applications.
Pro Highly configurable
Input can be configured online with preview: width, weight, line height, and alternate letterforms.
Pro Available in Mono, Sans, and Serif
There are a couple advantages to using a proportionally spaced font in code: comfort of reading, ease of spotting typos, and better differentiation between different kinds of code with font styles. Fontbureau dedicated an entire page to this topic. Unfortunately, a lot of text editors only support monospaced fonts.
Pro Clear distinctions between similar characters
The font is easy to read, has a clear distinction between similar character types, is very customizable with weight and line height. Free for personal/unpublished usage. You can customize the font how you like it on their site before downloading it to use.
In some fonts, it's difficult to distinguish between similar characters such as i/L/1, or o/zero, or m/rn. This font does an incredible job at making all of these examples clearly identifiable.
Pro Clear on low resolution and retina display
The code stays clear on low resolution and retina display with the same font option.
Pro Large, obvious punctuation
Pro Light, Extra-Light, Thin weights
The designer advises using a lighter weight for light-on-dark color schemes.
Pro Serif font is remarkably readable
Pro Condensed and Compressed Thin saves a lot of space
When using the condensed or compressed version with the thin typeface, you gain a lot of screen space and it's still extremely readable for all day coding.
Cons
Con Crowded bold styles
At size 12, in bold text, some letters bump up against each other too closely, greatly reducing legibility.
Con Tilde character lacks curvature
The tilde character in this font ('~') does not have enough curvature to be read easily at small sizes. This can be a concern for Unix(-like) shell users and script writers, as the tilde is used relatively often compared to other symbols.
Con The "-" symbol is short
For example, when using the '-' symbol for borders, it's super short in this font.
Con No ligatures
Missing programming ligatures.
Con Dotted zero
Dotted zero is less readable than slashed zero.
Con Not suitable for Vietnamese
This font is really ugly when used with Vietnamese characters.
Con Missing some Vietnamese characters
ấ, ề, ự, etc. are missing in DejaVu Sans Mono.
Con Some characters are similar
Small 'L', capital 'i' and 1 are too similar.
Con Too much serif on lowercase L
Lowercase L has a top left serif and a bottom right curved serif, and both are too long; so long that they make lowercase L look like an uppercase i.
Con Closed source
Although font designers need to make money too, open source model is preferred.
Con No ligatures
This can be a pro or con depending on who you ask, but it would be nice to have the option.
Con In VS2017 this font does not work and displayed as "Courier New"
Con Hard to distinguish "8" from "B" at low sizes
This often impacts upon designers working with hexadecimal numbers. Many fonts address this by either changing the x-height for numerals, making "8" more of an hourglass shape, or making the "B" cap smaller. At 10 pt, there's less than three pixels of a difference (anti-aliased).
Con Gets the job done, but not rounded enough to be pleasant/easy on the eyes
Con Bold 5 and 6 are too similar
Con Decimal digits can blend together in Mono variant
A lot of decimal digits have a similar form, 2's can sometimes look like 8's and so forth, which makes long strings of digits hard to read. I find other fonts like Consolas's digits more legible even at smaller sizes.
In the proportional variants this is less a problem.
Con Easy to confuse lowercase "i" with "1" if you're not used to it
The dot is so close to the body that they fuse, and with the serif on top it looks like the cap of the letter "1". When you put them side by side it's easy to see which one is which, but if you see a code that reads "a+=i" you're going to read that it increments a by 1.
Con The tilde is indistinguishable from a dash
Tilde is basically indistinguishable from a dash, unless you blow the size up huge. The curves in the tilde are too shallow.
