When comparing Bitstream DejaVu Sans Mono vs M+ 1 Code, the Slant community recommends M+ 1 Code for most people. In the question“What are the best programming fonts?” M+ 1 Code is ranked 8th while Bitstream DejaVu Sans Mono is ranked 13th. The most important reason people chose M+ 1 Code is:
This is a non-copyleft license that has minimal requirements regarding redistribution of the software.
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 Permissive free software licence
This is a non-copyleft license that has minimal requirements regarding redistribution of the software.
Pro Narrow font is great for teaching
M+ 1m allows you to fit much more code on slides yet still have them be highly legible, making it a great choice for teaching.
Pro 17 different character-encodings available
- ISO-8859-1, Latin-1 Western European
- ISO-8859-2, Latin-2 Central European
- ISO-8859-3, Latin-3 South European
- ISO-8859-4, Latin-4 North European
- ISO-8859-5, Latin/Cyrillic
- ISO-8859-7, Latin/Greek
- ISO-8859-8, Latin/Hebrew
- ISO-8859-9, Latin-5 Turkish
- ISO-8859-10, Latin-6 Nordic
- ISO-8859-13, Latin-7 Baltic Rim
- ISO-8859-14, Latin-8 Celtic
- ISO-8859-15, Latin-9 A revision of 8859-1
- ISO-8859-16, Latin-10 South-Eastern European
- T1 Encoding, Default 8-bit encoding in many TeX installations
- Windows-1252, Used by default in the legacy components of MS Windows
- WGL4, Pan-European character set defined by Microsoft
- VISCII, Vietnamese standard character set
Pro Five weights from Thin to Bold
The five font weights available are thin, light, regular, medium, and bold.
Pro Works well with Japanese
The widths are half that of the Japanese characters in the font.
Pro High legibility
M+ M Type-1 (1M) was created to emphasize the balance of natural letterform and high legibility.
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 Top narrow
Con Certain pseudo-graphic characters take two spaces
In this font, some pseudo-graphic characters can take up two spaces instead of one.