When comparing M+ 1m vs Hack, the Slant community recommends Hack for most people. In the question“What are the best programming fonts?” Hack is ranked 9th while M+ 1m is ranked 13th. The most important reason people chose Hack is:
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](https://github.com/chrissimpkins/Hack/blob/master/CHANGELOG.md).
Ranked in these QuestionsQuestion Ranking
Pro High legibility
M+ M Type-1 (1M) was created to emphasize the balance of natural letterform and high legibility.
Pro Permissive free software licence
This is a non-copyleft license that has minimal requirements regarding redistribution of the software.
Pro Five weights from Thin to Bold
The five font weights available are thin, light, regular, medium, and bold.
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 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 Works well with Japanese
The widths are half that of the Japanese characters in the font.
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 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 Very readable
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 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.
Con Certain pseudo-graphic characters take two spaces
In this font, some pseudo-graphic characters can take up two spaces instead of one.
Con Too similar to DejaVu
See this gif comparison between the two fonts: https://gfycat.com/SomberUnitedGermanshepherd
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".