Hermit: a font for programmers, by a programmer

Hermit

Hermit is a monospace font designed to be clear, pragmatic and very readable. Its creation has been focused on programming. Every glyph was carefully planned and calculated, according to defined principles and rules. For this reason, Hermit is coherent and regular.

Symbols stand out from common text. Dots and commas are easily seen, and operators are clear even when not surrounded by spaces. Similar characters have been designed to be very distinguishable from each other.

Features

Monospace. Clear and readable. Nice for hacking and coding!

Regular, Bold and Light weights. Italic for every weight.

Clear, at least, on sizes 8 and bigger.

Coverage of a big part of Latin character sets (Basic, Western European, Central European, South Eastern European).

Integrated Powerline symbols.

OFL 1.1 License.

Samples

Hermit’s true habitat is a terminal or a text editor, not a website. You should just download it and watch it by yourself, in your very own environment!

However, here’s some code doing some things:

/* Process an incoming IP datagram fragment. */ int ip_defrag ( struct net * net , struct sk_buff * skb , u32 user ) { struct net_device * dev = skb -> dev ? : skb_dst ( skb ) -> dev ; int vif = l3mdev_master_ifindex_rcu ( dev ); struct ipq * qp ; __IP_INC_STATS ( net , IPSTATS_MIB_REASMREQDS ); skb_orphan ( skb ); /* Lookup (or create) queue header */ qp = ip_find ( net , ip_hdr ( skb ), user , vif ); if ( qp ) { int ret ; spin_lock ( & qp -> q . lock ); ret = ip_frag_queue ( qp , skb ); spin_unlock ( & qp -> q . lock ); ipq_put ( qp ); return ret ; } __IP_INC_STATS ( net , IPSTATS_MIB_REASMFAILS ); kfree_skb ( skb ); return - ENOMEM ; }

Cost

Hermit is free, as in both “free beer” and “freedom”. However, if and only if you like my work and you think I deserve it, I accept donations. But, if you don’t want or you can’t make a donation, I’ll think you’re awesome anyway.

Downloads

Download right now!

You can find the source files on this repo.

You can find a pack with other formats (UFO, WOFF, WOFF2) right here:

Download full package

Hermit is also available in AUR, Fedora (thanks, Ryan!) and Gentoo (thanks, Patrick!).

Improvements, issues, suggestions

If you have a good idea for an improvement in Hermit, or you have found an issue, or you have a great suggestion for a future version, you can send me an email. If you are trying to explain me something you don’t like, you should attach a screenshot.

I also like emails that just say you like Hermit!

ToDos and NotToDos

Hermit is not perfect. It was done under certain circumstances, trying to fill some needs. This, of course, could not be enough to fill somebody else’s needs.

Some of these needs may be covered in the future, such as:

Add more Unicode characters.

Add it to Google Fonts.

However, I cannot take care of covering some other requests, for example:

Add Cyrillic characters.

Add Greek characters.

Changelog

2019/01/15: Hermit v2.0 Major version, lots of changes! This version was done usingn Glyphs App instead of FontForge. However, an UFO file is exported, so Hermit can still be edited with several tools. Added a lot of mark+letter glyphs… Hermit should cover most european languages! Medium version was renamed to Regular. Added a propper Bold version, made by hand with love. It is now consistent with the Regular version, and thus actually monospaced. The Light version was not made by hand, but interpolated (extrapolated?) from the other two versions. It should work a lot better now. Added an Italic version (Regular, Bold and Light weights), consistent with the rest of the versions. Thanks, kul! Marked as monospaced (isFixedPitch). Thanks, Tidux! Every glyph was individually revised and, in some cases, hinted and adjusted to be more clear. Completely redesigned ‘t’ and ‘f’. They are now simpler, more Hermit-like, and they render better on smaller sizes. I know this is a change a lot of people won’t like, but remember: Hermit is open source and free as in “freedom”, so you can change it back if you wish! Added ‘₿’ symbol (Bitcoin, U+20BF). Thanks, JasonLeeH! Added ‘✓’ symbol (Checkmark, U+2713). Thanks, Evan! Font width is now 618, so glyphs have an actual middle point. I sincerely don’t remember why it was 617, which is a prime number (maybe just because of that, that seems like me. Also, 617 is part of a twin prime pair with 619, and may be expressed as a sum of 2 squares: 16² + 19². But 618 is also cool. I guess…).



2013/12/21: Hermit v1.21 Changed “Font name” and “Name for Humans” field, so different weights can be installed on Windows. Some glyphs were not properly centered, and had a different width. They are fine now.



2013/12/20: Hermit v1.2 Light and bold versions added. ’`’ (grave accent) is now smaller. ’%’ symbol is now wider and more clear. ’/’ symbol is now lower. It aligns with the underscore glyph. ‘⚡’ symbol is now bigger. Bullet symbol is now bigger, and it’s aligned with ‘*’. Black and white squares family added (U+25A0, U+25A1, U+25FB, U+25FC, U+25FD, U+25FE, U+25AA, U+25AB). Black and white triangles family added (U+25B2 - U+25C5) Black circle added (U+25CF). Ellipsis added (U+2026). White square containing black square added (U+25A3). Full range of vertically-growing blocks added (U+2580 - U+2587). Full range of horizontally-growing blocks added (U+2589 - U+2590). ‘virtual.circum’ moved to ‘Circumflex’ (U+02C6). ‘virtual.caron’ moved to ‘Caron’ (U+02C7). ‘virtual.ring’ moved to ‘ring above’ (U+02DA). ‘virtual.tilde’ removed.



2013/10/19: Hermit v1.1 Dropped support to TTF. Powerline symbols added. Slightly improved hinting. ‘⚡’ symbol added (U+26A1). Bullet symbol added (U+2022). Figure dash, en dash, em dash and horizontal bar symbols added. ‘f’ is now thinner and more round, so it’s more distinguishable from ‘F’. ‘g’ is now more square. ’%’ adjusted. ’-‘ (minus), ‘+’, ‘*’, ‘=’, ‘<’, ‘>’, ‘«’, ‘»’, ‘~’, ‘¬’ and soft hyphen glyphs have been moved sightly up. They are now aligned with curly braces. I hope this is their last location. ’ ’ (“pipe” symbol) is now lower. It aligns with the underscore glyph. ‘virtual.i’ moved to ‘dotlessi’ (U+0131). ‘virtual.acute’ moved to ‘acute’ (U+00B4). ‘virtual.dieresis’ moved to ‘dieresis’ (U+00A8).



2013/09/12: Hermit v1.01 ’-‘ (minus), ‘+’, ‘*’, ‘=’, ‘<’, ‘>’, ‘~’, ‘¬’ and soft hyphen glyphs have been lowered. They are now centered in x-height, like “short letters”. ‘y dieresis’ shows now the dieresis correctly.

