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.
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.
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.
The characters in Source Code Pro are easily readable. They have consistent widths across all weights as to not break up words. Commonly used programming symbols (such as various kinds of brackets) are made easily discernible from each other while various punctuation marks are made bigger than normal. This makes them especially good for programmers who keep staring at code for hours.
The font is licensed under SIL open font license with source code available on GitHub. Being an open source font, it's also reasonable to expect incremental upgrades and additions to character sets and functionality.
Let's take for instance when you have a final in Java, you usually type it in italics and capitals with underscores: MY_FINAL_CONSTANT, for example. However, Source Code Pro makes the underscore disappear.
This is particularly beneficial for those who wish to use combined letters such as "æ" and other diphthongs. But when it comes to programming, the ability to scan through your code is improved with ligatures for equality, arrow functions, and more.
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.
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.
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).
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.
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.
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.
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.
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.
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".
The font is in active development and the designer is very open to suggestions. Right now the dev is looking for native speakers of various languages that can help with the design of the glyphs of various languages.
Characters are very readable. They have consistent widths across all weights as to not break up words. Commonly used programming symbols such as various kinds of brackets are made easily discernible from each other and various punctuation marks are made bigger than normal. This makes them especially good for programmers who keep staring at code for hours.
Menlo displays as expected for size 11 and bigger, but doesn't seem to work very well at size 10.
Issues include zero not being the same height as the rest of the numbers and Parenthetical Brackets not matching up perfectly.
The font is available on machines running Windows Vista, Windows 7, Windows 8, and Windows 8.1, as well as part of Microsoft Office 2007 and Microsoft Visual Studio 2010. Otherwise it can be downloaded from Microsoft's homepage. It can also be set up on OS X machines with instructions on how to do it available here.
Letter height is the same for 9 and 10, and for 11 and 12 pt. When switching from 10 to 11 pt, letter height changes abruptly (whereas line height changes gradually). This makes it impossible to choose exact letter height on a standard display. Size can't be set to 10.5 pt, for example.
Consolas is specifically designed to work with ClearType antialiasing, so it becomes highly aliased when ClearType is not turned on. This can be alleviated to a degree with any basic grayscale anti-aliasing.
As an OpenType relative of Consolas, Inconsolata works well without ClearType (Inconsolata-g being the most popular variant).
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-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
The style of characters avoid ambiguity by making every character distinct. For example, a lower case "L" and upper case "i" are unique such that that it cannot be confused, even if you're unfamiliar with the font.
PragmataPro, more so than most fonts (even non-monospace, professional fonts etc.), supports a crazy-wide range of the Unicode standard; many of those symbols, letters, and special characters are quite useful in writing and programming (e.g. PragmataPro + Vim's conceal feature makes writing LaTeX pretty beautiful).
If you use bold to highlight keywords, you may find that bold version of the font is too bold and disrupts the flow of the text. Bold is heavily used by many IDEs, so you may need to adjust code highlighting settings and use other means of highlighting keywords, or maybe choosing a different color for bolded words.
Feels very easy to read code, even in a very small px (like 10 or 9). Letters are slightly separated, l (ell) and 1 are different, " (opening and closing quote) is straight and not angled, and the "Zero Slashed" version makes it an excellent font for coding.
6x13 fixed is the apex of bitmap fonts. It has a nice, defined character set and great proportions for quantity of text onscreen, making for excellent readability. It is aesthetically pleasing for a bitmap font and has been deservedly termed 'classic'.
At a small text size, each character has a limited resolution. A character size of 6x13 pixels means only 78 pixels per character. Modern fonts are designed to be scalable and are less legible at these small sizes. Using bitmap fonts increases legibility by eliminating scaling and sub-pixel aliasing artifacts. Some scalable fonts include "ppems" embedded bitmaps for this reason.
The font includes all characters for all European languages; however, in most programs using Unicode (such as WordPad or MS Word), only languages using Western charset can use this font. These include English, German, French, Spanish, and Norwegian.
Trying to use any languages like Czech, Hungarian (Central European), Bulgarian, Russian (Cyrillic), or Greek will make the font switch back to default font like Arial or Calibri, even though Monofur itself includes characters for those languages.
Authors didn't bother fixing the non-working Baltic / Central European / Greek / Cyrillic / Turkish character set for those years.
Monofur has a regular italic and bold typeface, but it lacks bold+italic. Syntax-capable editors can better display code based on function/class/context/markup work when at least 4 families are available to display.
As a "Mono" font, Fantasque is uniform in size and overalls. However, if you look further into all characters, you'll find that there's almost no pattern between them - except for the huge amount of curves. That said, this font is a very strong contender in terms of readability, especially in a world that seeks pattern (often too much).
The zero really stands out and looks quite different from zeroes in most other fonts. The addition of the slash means you'll never have to second guess if that character is actually an "O" or if it is a "0".
There are some hinting issues at these sizes: upper curves are bent sharper while the lower look is squashed to the baseline. Also, the dot of "i" appears merged with the stick at 11 pts. At 9 pts, the font looks good again (nice for watches, compiler output, etc).
The zero is not slashed, which causes some problems when scanning source code. This is not an issue when the IDE supports coloring (like all major modern IDE's), but still there are instances where this is not the case. A primary example are T4 templates, where Microsoft has not yet provided coloring support.
The common expression '!=' is displayed as '≠', '>=' as '≥' *, while maintaining the fixed width double-space that these characters would normally take, so as to maintain text alignment.
Many others are supported too - see site for details.
It's comfortable for the user to read Code New Roman for long periods. OpenType features include hanging or lining numerals (slashed, dotted, and normal zeros) as well as alternative shapes for a number of lowercase letters.
Code New Roman has been tested on cheap Dell Inspiron with Ubuntu 14.04 installed and looks great on gtk-based apps such as Sublime Text, Geany, and TextAdept. It's also great on Qt-based apps such as KDevelop and Spyder. For electron/nwjs-based applications, it looks great on Visual Studio Code and Brackets, but has yet been tested on atom. However, it looks horrible on Swing-based apps such as Netbeans or Jetbrains' IDE.