When comparing Hack vs Bitstream DejaVu Sans Mono, the Slant community recommends Hack for most people. In the question“What are the best programming fonts?” Hack is ranked 7th while Bitstream DejaVu Sans Mono is ranked 13th.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Very readable
Pro Libre webfonts are available in svg, eot, ttf, woff, and woff2 formats
Hack is free for unlimited commercial and non-commercial use. The webfonts are hinted (TrueType instruction set) to optimize display on the screen and are built into all commonly used web font formats with each new release. They include the complete release character set and smaller (filesize) basic Latin subset releases. They are available in the build directory of the repository.
Pro Fixes many readability issues in Vera/DejaVu
The tilde symbol ('~'), comma (',') and semicolon (';') glyphs have been modified to be more readable at small sizes and/or on non-HD displays. In addition, the underscore symbol ('_') has been slightly lifted for alignment with surrounding characters.
Pro Avaliable in many GNU/Linux distro package manager
Including Debian/Ubuntu (fonts-hack), Fedora (font-hack-ttf), OpenSUSE (hack-fonts), Arch (ttf-hack) and probably many more. Much nicer than having to manually install/update
Pro Free/Open license
Pro Renders accurately on Windows on all font sizes
Pro Based on the tried and tested Bitstream Vera Sans Mono
The fonts are in the Vera Sans Mono lineage with a significant expansion of the character set (which includes Cyrillic and modern Greek character sets), new glyph shapes and modifications of the original glyph shapes, as well as improvements in metrics and hinting/TT instructions to make it more legible at small text sizes used for source code.
The changelog is available here.
Pro Powerline glyph patch is included
The regular set is patched with Powerline glyphs by default. There is no need to patch the font to use it in Powerline environments.
Pro Source code is released in UFO format
UFO source format is widely supported by all modern font editors if you would like to modify the typeface.
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.
Cons
Con No ligatures in the default font
Although patched versions with ligatures do exist - see here.
Con Sometimes difficult to distinguish lowercase "i" (eye) and lowercase "l" (ell)
When using a higher resolution monitor and a smaller font size, the lowercase "i" (eye) and lowercase "l" (ell) are very difficult to distinguish. The space between the dot and the remainder of the letter seems to somehow disappear, thereby making it look like a solid line, similar to the lowercase "l" (ell).
Con Too similar to DejaVu
See this gif comparison between the two fonts.
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.
