When comparing DejaVu Sans Mono vs Hack, the Slant community recommends DejaVu Sans Mono for most people. In the question“What are the best programming fonts?” DejaVu Sans Mono is ranked 1st while Hack is ranked 9th. The most important reason people chose DejaVu Sans Mono is:
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.
Ranked in these QuestionsQuestion Ranking
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 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 Nice uniform spacing
The font is well spaced and doesn't break up words.
Pro Clean, readable design
Reading the text is pleasant and effortless. Letter forms combine nicely into words.
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 It's subtle, yet stilish and extremely readable, very easy on eyes and very effective for long development sessions.
Pro Available with every linux distribution and works fine in vim, emacs and atom
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 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 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 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.
Con The "-" symbol is short
For example, when using the '-' symbol for borders, it's super short in this font.
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 No ligatures
Missing programming ligatures.
Con Dotted zero
Dotted zero is less readable than slashed zero
Con Missing some Vietnamese characters
ấ, ề, ự, etc. are missing in DejaVu Sans Mono.
Con Sometimes difficult to distinguish lowercase "i" and lowercase "l"
When using a higher resolution monitor and a smaller font size, the lowercase "i" and lowercase "l" 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".