Hacker News new | past | comments | ask | show | jobs | submit login
Hermit: a font for programmers, by a programmer (pcaro.es)
305 points by joeyespo on Sept 9, 2013 | hide | past | web | favorite | 189 comments

> a font for programmers, by a programmer

> Every glyph was carefully planned and calculated, according to defined principles and rules. For this reason, Hermit is coherent and regular.

I hate to say this, but a font by a programmer makes as much sense as a database library by a font designer. Good font design is not about calculations or following principled rules; it's about what looks good to the eye, and it takes a tremendous amount of skill and experience.

And to my eye, at least, the font is incredibly difficult to read. It literally looks like a font designed by an engineer for a plotter, not something designed for the human eye or legibility.

Good fonts follow intuitive rhythms, they focus on word shapes (not just letter shapes), natural curves, there's a tremendous amount of subtlety that goes into achieving a proper sense of balance between letterforms, and a lot of things are actually different between letters/curves/etc. so that they look the same to the eye in the end. Even with "utilitarian" fonts like monospace ones.

"Carefully planned and calculated" is a great recipe for building a bridge, but not for building a font, unfortunately.

It's important not to oversell the touchy-feely/what-looks-good side of this. Font design is certainly about planning and calculation, it's just that those calculations need to be based on optics rather than geometry.

Instead of perfect circles, we use a shape that is taller than it is wide; instead of splitting the space in half, cross-strokes should be higher than the middle; different strokes need to be different widths in order to appear the same, etc.

There are plenty of actual scientific studies and theory behind this. See Ruder's Typography [0] and Hochuli's Detail in typography [1] for more info.

[0] http://www.amazon.com/Typographie-Manual-Design-Emil-Ruder/d...

[1] http://www.amazon.com/Detail-Typography-Jost-Hochuli/dp/0907...

What about the difference in use? Do you know of any work that examines whether there is a difference in the importance of attributes depending on whether it's for programming or reading?

I know different things are important to me when viewing programming text than reading. A simple, somewhat contrived example would be whether 'r' and 'n' together are easily discernible as 'rn' or 'm' (which is mostly a non-problem with mon-spaced fonts). When reading text, I can infer from context what the word most likely should be, but when programming, that's an error waiting to be found at some point.

To expand on this, different programming languages may stress different qualities of a font. From experience, I find when parenthesis look like curly braces in a font, it increases my frustration as it causes ambiguity where there should be none. This may be less of a problem in a language that uses fewer braces.

You read code when you're programming. The only difference is the mix of characters you'll see near each other. General readability matters -- when is it OK for a regular font to be unclear about which character (a zero or 'O') you're looking at?

The 'rn' case is one of kerning, and is an issue independent of the mono- or proportional-ness of the font; it's one of kerning. You can have 'r' and 'n' at full width for the font, and they'll look very 'm'-ish. If you have 'rn' looking like 'm', it's just as awful when you're reading a novel as when you're reading code.

> when is it OK for a regular font to be unclear about which character (a zero or 'O') you're looking at?

This is OK virtually 100% of the time, in that there are no circumstances where you'd be confused over which was meant. In contrast, I write 1 and l exactly the same way under most circumstances. That could be pretty annoying if, say, I was doing a geometry problem involving a line named l, since numbers frequently appear in math problems. In fact, I suspect that many other people have had that same problem, since high school geometry textbooks, while they still like to name lines l, use a cursive font for it.

It's very rare for a literary work to feature e.g. one character named Oscar and one named 0scar.

"The 'rn' case is one of kerning, and is an issue independent of the mono- or proportional-ness of the font; it's one of kerning."

No. Kerning applies to proportionally spaced fonts, not monospace fonts. See, e.g., http://en.wikipedia.org/wiki/Kerning Designing monospace fonts so that character combinations are more readable has nothing to do with kerning.

> You read code when you're programming.

Right, but not for comprehension the way you read prose, but for technical accuracy of an input to a mechanical system that will read it and which is intolerant of errors even when the meaning is clear from context. For human consumption of prose, fonts that can sometimes create ambiguities of individual characters that are easily resolved from context but which keep the overall shape of morphemes recognizable are mostly fine, for creation of content -- particular content to be read by a machine, they are not.

> General readability matters -- when is it OK for a regular font to be unclear about which character (a zero or 'O') you're looking at?

For readers, quite a bit, because for most purposes, the meaning is clear from context (same with 1/I/l), and because people with more than marginal literacy mostly are recognizing the visual shape of (approximately) whole morphemes, not individual characters.

> If you have 'rn' looking like 'm', it's just as awful when you're reading a novel as when you're reading code.

For the reasons stated above, that's not really true.

> You read code when you're programming. The only difference is the mix of characters you'll see near each other. General readability matters -- when is it OK for a regular font to be unclear about which character (a zero or 'O') you're looking at?

The difference in mix of characters reflects on the design decisions made for the font type. Target use is important. Some types are great for titles, some for text bodies, some for logos. It makes sense to me that code is another category.

Yes, readability is important, but it's not binary. The level and aspects of readability required for a novel body are not the same as for an article title.

Differentiating between zero 0 and uppercase O is critical for code (and work terminals, and perhaps data tables), but IMHO isn't interesting when designing for text bodies. Same goes for 'rn' and other issues that have ever annoyed only programmers.

Possibly related, the fact that when you hang a door, the gap between the top hinge and the top of the door, should be smaller than the gap between the bottom hinge and the floor.

This makes the door spacing look equal from our usual standing position.

What sounds good on paper/design (Make the spacing equidistant) can often look terrible in practice.

I think the font looks ok, but the "d" looks bad to me. And I'm not convinced about the "t". Maybe they make sense on paper, and have very nice mathematically correct proportions, but they still don't look right to me.

Similarly, I once heard a story that http://en.wikipedia.org/wiki/David_(Michelangelo) has a bigger head than usual because people would be looking at it from a funny perspective, and foreshortening would make it look strange if the proportions were not changed.

Wow, that's a boring attitude. I think it's great this guy is interested in typography and crafting his own fonts, and that the results are quite nice, professional or not, with the right principles or not.

Just don't get why it's on the front page before release though. I guess for comments, but add a place where I can sign up to be notified when it's done or something...

Sorry if I come across as too negative -- I definitely 100% support people trying out new things.

[Edit: I think the rest of this comment was too negative, and the guy submitting it doesn't seem to be the author of the font, which I didn't realize, so was perhaps not really applicable. Never mind!]

It's negative, but I can definitely appreciate the honesty. Those who don't like it can ignore it, but I'm happy to see comments like this peppered about rather than a series of congratulatory messages and "obligatory" pats on the back.

Providing real, honest feedback is the only useful reply. Kudos to you. If your assessment is negative, then provide negative feedback. If it's positive, positive. No need to over-flower everything, we're all trying to help each other around here.

While I agree with your original comments, not sure I agree with this. It's the #2 story on HN because HN readers upvoted it that way, no "fault" of this guy. And being on HN, I think it is the perfect forum for feedback, the guy even states criticism is welcome, it's as much a learning process for him too.

I have to agree, I thought it looks pretty nice too - and for what appears to be his first ever attempt - event better.

Just a shame the '8' character looks a bit like an upside down snowman is all I would add.

It's on the homepage because it reached the top of /r/programming on Reddit about 24h ago? :P

Role reversal considering how it used to be just a few months ago.

A weird role reversal. Many of the tech communities on Reddit are garbage.

Then again, my first question upon seeing this on HN was "how on earth is this relevant/interesting? It's not even finished!" so discovering that the source for the submission was a tech subreddit is unsurprising.

From what I've seen, /r/programming is about as bad as any. But people read it anyway because there isn't really a better programming subreddit. (Some of the very specialized ones are better, like for specific languages, but the wide-audience subreddits seem to be full of people who do not have much experience and are more interested in one-upmanship than in talking shop.)

It literally looks like a font designed by an engineer for a plotter, not something designed for the human eye or legibility.

Plotter fonts are intended to exactly communicate important technical information. They are designed to be highly legible, irrespective of whether you think they look nice.

It's the same with old-school pixel fonts, which had to exactly communicate easily confusable glyphs, instantly, on a low-bandwidth communications channel (an 8x8 or even 9x16 monochrome character cell is very low bandwidth). So a lot of them looked butt-ugly. But they were easier for a programmer to read than if he had been doing all his code in Helvetica Neue.

That's why I do all my hacking in Glass Tty, Terminus, or good old 7x14. As for this font -- it's nice, but not Terminus nice.

> Plotter fonts are intended to exactly communicate important technical information. They are designed to be highly legible, irrespective of whether you think they look nice.

Legibility isn't the same as readability. ALL CAPS is highly legible, and so are freeway billboards - neither are optimized for high comprehension, high speed, and minimal fatigue during extended sessions.

For example, exaggerating key elements on select glyphs (compare Glass TTY's counter in '4' to AutoCAD's Big Type '4', or the beak on '1') can help at-a-glance perception of plotter output, but exhaust quickly in longer documents.

Readability is a loaded term here. Code readability may or may not be the same as the readability of prose. Readability based on a font in one programming language may not be the same as in another programming language. I would question any assumptions otherwise, without sufficient reasoning to back them up.

* Plotter fonts are intended to exactly communicate important technical information.

Actually, plotter fonts are optimized for pen movements, not legibility.

My font of choice, Inconsolata, was designed by a programmer.

The entire Metafont collection, was designed by a programmer.

The OP font, was designed by a programmer.

I come to the conclusion that fonts designed by programmers make more sense than database libraries by font designers, unless Hermann Zapf wrote a framework and I've never seen it.

Then you should check out the work[1] done by the brothers Erik[2] and Petr[3] van Blokland, e.g. Guess who wrote the draft for the W3C specs of the .woff @font-face format? [4] A type designer.

[1] http://www.robofont.com/ [2] http://letterror.com/ [3] http://www.petr.com/ [4] http://en.wikipedia.org/wiki/Web_Open_Font_Format

Inconsolata own explaination is here (to contrast with OP) http://levien.com/type/myfonts/inconsolata.html

Similar goals, but different philosophies.

It's a fair corrective, but don't forget Knuth -- a programmer who learned a lot about typography and designed quite a few good fonts (http://en.wikipedia.org/wiki/Computer_Modern). Arguably his fonts aren't the most "well designed", but they have their own Knuthific charm, and they're very legible.

"a bridge for pedestrians, by a pedestrian".

While I applaud his effort, this is why wonderful movies aren't musically scored by the director or writer - they may know what they want, but that doesn't give them the ability to create it.

Like medicine "created by a school teacher".

When all the musicians only want to do musics that won't fit a movie, yes, a director should go on and score his own movie.

If designers want so much that programmers get their fonts from them, they should try to create something that's suitable for programming. That does not seem to be happening now.

And, yes, I quite liked it. If I hear about it again when the author releases it (why didn't he already?), I'll probably try it.

There are directors who have scored one or many of their own films, such as John Carpenter, Robert Rodriguez, and Clint Eastwood. It's true that excepting the ones who have a strong music background director-composers usually produce somewhat simpler and critically not-acclaimed scores but they also often end up working well. Look at the Halloween theme; it's a very simple melody but it somehow captured the mood of the film and people's imaginations.

I agree with your general point though, a collaboration between the "user" and "expert" will generally produce something superior; but sometimes there can even be a little bit of a liability having the other party around.

The school teacher thing is a poor example though - that's just marketing trying to make an appeal to authority. Something like if a teacher had designed a desk or chair would be better because their job gives them insight into that as opposed to say, a mail carrier.

"The problem about folk music Is that it is written by the people"

Agreed. For an excellent description of the dedication and artistry it takes to create a good font, have a look at the film "Learning to See as an Artist", produced by Edward Tufte, describing the life and work of designer Inge Druckrey: http://vimeo.com/45232468.

And some blanket comment slamming some programmer's personal efforts is equally silly.

PS: I'm a programmer and find the font attractive and easy to read, go figure.


All that said, this font looks pretty good to me as a programmer, (12 point version, at least), and I'm going to try it out when it's available. I've been looking for a good font to use in emacs on OS X and have never found one that I liked. (On Linux, my preference is 9x15.)

If you like the X11 Fixed fonts, check out http://monkey.org/~marius/beautiful-fixed-width-fonts-for-os..., which provides 6x13, 7x14, 9x15 and 10x20 in OS X dfont format.

http://www.twoevils.org/html/files.html has 6x13 in TrueType format, which I'm using for Windows console and Sublime Text.

Also PuTTY's author, Simon Tatham, has provided 6x13 since forever: http://www.chiark.greenend.org.uk/~sgtatham/fonts/

I've put 9x15 for Windows here: https://dl.dropboxusercontent.com/u/19746944/cheever.fon (I can't remember how I got it)

Yup, the old Windows bitmap font versions have been around for ages - I've found I get better results with TTF though.

I think I even found some unicode support in one or two at some point (technically impossible with the Windows bitmap font formats), but I can't seem to find any right now, bah.

If the end result is good, then it will be good, no matter what methodology is used. While I can agree with your conclusion, your argument is just another authority argument, and I hate those.

Having said that, I will not use this particular font, because I like others more, not because of the degree his creator has got.

i feel like this is a good argument if you could show some evidence that another font designer put any thought beyond mere aesthetics in thaer decision making.

What i would like to see from someone like you, that criticises the work on display, in this instance, would be:

    -what font do you currently use?
    -what evidence do you have that it was 'designed by a font designer'?
    -what evidence do you have that such and such designer made decisions that are more accurate than the ones made here and for what reasons?
    -is there a write up by said designer that describes those decisions and possible alternatives and reasons for doing one while avoiding another?  .. this is my issue with the post, i feel it is too sparse on self addressed argument ..

Fonts often take months, if not years to design.

There are blogs dedicated to the process that help you learn about the process and decisions being made.

For example:



I think the font is decent, but I won't use it in its current iteration for the following reasons:

1. The lowercase 'm' is muddled and looks bad without anti-aliasing, downright horrible with anti-aliasing. 2. The lowercase 'k' is "too unique" and distracting (personal taste) 3. The lowercase 'e' is too squished and doesn't read well at small point sizes.

Overall, this font is not horrible. But with every "programmer-centric" new font that gets a bit of buzz, I always end up going back to non-anti-aliased Monaco within a day or two. It just seems like one of those perennial non-problems people keep having a go at.

Agree with your assessment. I searched high and low for a font that serves as a programming font for quite a while. For the longest time I loved Inconsolata and some of it's variations. After a while I got tired of it though. It seemed... sloppy, even though I loved it at first. I think what it lacked, for me at least, was consistency between glyphs. Some where straight and angular, while others curved and it just didn't fit. Now I have settled on DejaVu Sans Mono and it seems to be working for me. It's very balanced and the glyphs are very evenly spaced and take up pretty much the same visual foot print for each glyph. Highly recommend.'

This font that OP is showcasing isn't terrible, for a first pass, but there are some problems (funny lower case f curve really bugs me. It's overly pronounced) that need to be ironed out.

I prefer when the font is rather thick than thin, which leads to using sizes like 14, and I've found that Lucida Console and DejaVu Sans Mono work best for me.

The former in Notepad++, the latter is perfect for Eclipse, because Eclipse has a very small spacing between the lines (not configurable) and many other fonts look too condensed due to that.

I've actually started using Deja Vu Sans Mono for a programming font. There are definitely still some annoyances but it does seem to do better than most I've come across.

Way too negative. This font looks like an excellent font to complement my inner circle of Courier and Terminus.

I would have to actually try it out before commenting on the readability, but I do find what I see on the one screenshot provided kinda sexy. Tastes differ! Maybe it's not the ultimate monospace font to end all monospace fonts, but personally I've seen fonts I liked much less coming from "actual designers".

Font looks fine to me, the characters never seem to run into one another oddly. 1, l, and I; 0 and O; g and q - they all look very different even in small sizes. I might consider switching.

Except PROGRAMMERS don't generally deal in anything remotely resembling proper grammar that real Font Designers train for. Real fonts are designed to minimize punctuation especially repeated punctuation and programming languages all use special characters nearly as much as alphanumerics.

It doesn't look terrible, is have to try it out on a computer to see if its useful.

>Except PROGRAMMERS don't generally deal in anything remotely resembling proper grammar that real Font Designers train for.

This is wrong, and misleading.

Monospaced fonts are usually designed with specific usage in mind. Come one, font designers don't live in a cave. They are usually briefed for how this font is intended to be used.

See, for example, a Consolas case study:


>The first typeface Luc(as) was invited to work on was Consolas, a monospaced font (a face in which all glyphs have equal width).

>Intended for use in programming environments and other circumstances where a monospaced font is required, Consolas has proportions that are closer to normal text, and is therefore more reader-friendly than many other monospaced fonts. OpenType features include hanging figures or lining figures; slashed, dotted and normal zeroes; and alternative shapes for a number of lowercase letters, notably the most problematic character in any monospaced font, the ‘i’. The look of the text can be tuned to personal taste by varying the number of bars and waves in these letters.

>De Groot teamed up with a programmer to test the use of Consolas as a font for coding. “Having a programmer involved,” says Luc(as) with a smile, “I could preview hardcore use on the light-weight notebook chosen to represent his species’ preferred tool.” As the default monospaced font in Windows Vista as well as the Office Suite, Consolas became the de facto successor of the ubiquitous Courier.

(emphasis mine)

I don't think it's perfect, but I respect the attempt.

One quick note, though. One header in that write-up boldly states: "I am not a designer." Have some self-esteem! You're totally a designer. You're taking the steps that real designers [should] take when creating functional designs. You have design principles and goals and are aiming to satisfy those with a little ingenuity and creativity.

You're a designer. Own it!

I appreciate your positive attitude toward expanding one's skillset, and I agree that he should remove "I am not a designer". But I believe the creator when he says that he is not a designer, and I don't think it would be appropriate for us to say that he is a designer at this point.

I like cooking, and I can make some tasty meals, but I am not a chef.

I like drawing things in my notebook here and there, but I am not an artist.

I enjoy the occasional minor home improvement/repair project (renter) and woodworking challenge, but I am not a contractor nor a woodworker.

I've been making web sites and apps for a decade now, and I am a developer. I've been taking photos for a good part of that decade as well and I am a photographer (mostly amateur, though I have made some money from it).

Declaring yourself "a ______" in this way implies that you have achieved some level of experience, or at least that you are devoting or have devoted a significant chunk of time to the pursuit. I just don't know if the creator has put in this time, or considers it a significant enough pursuit to call himself a designer.

I get what you're saying, but disagree. "Chef" kind of already means "professional cook" and "contractor" is kind of a legal term when it comes to construction, but if you draw in your notebook, you're definitely an artist. You may not be a good one! And you may not be professional. But who cares?

This is why we have qualifiers: "I'm an award-winning chef." "I'm a world-renowned artist." "I'm a professional designer." Of course you shouldn't go around calling yourself a doctor just because you once successfully took an aspirin to get rid of a headache. But when it comes to creative endeavors, I think more people should be proud of the creative act itself, even if it's not great on some objective scale. And I wish more people would attempt casual acts of creativity. And I think those who do deserve to wear the title of "artist, "designer," "cook," "painter," "writer," or whatever.

I too wish people would attempt casual acts of creativity and be more proud of the creative act itself. But they can do that without being "a(n) ______" after their first and possibly only attempt.

I'm not saying that there needs to be an objective standard of quality or number of hours put into an endeavour - even a terrible fisherman is still a fisherman if s/he practices it. But I wouldn't go fishing once and declare myself a fisherman if I had no followup experience. If I were to say "I'm a fisherman" in conversation, I think it would demonstrate a lack of common understanding about what that sentence implies, or duplicity at worst (trying to curry favour from a fishing enthusiast boss, for example).

I get what you're saying and I know you're coming from a positive place. I just think that it runs counter to the common interpretation of "a(n) _____", and I'd rather preserve that interpretation because it's useful.

It's hard for me to imagine ever finding anything better than Ubuntu Mono, but for those who haven't found a love of their font-life, now might be a helpful time to relink to the one slant article I ever saw: http://www.slant.co/topics/67/~what-are-the-best-programming...

I'm using DejaVu Sans Mono and for me it looks cleaner on 11pt than Ubuntu Mono, but you're right: that article is amazing.

I'm surprised how close is DejaVu Sans Mono to Source Code Pro.

Have been using DejaVu Sans Mono for years, it's fantastic and really easy on the eyes.

I'm not sure I'd care to code with this: http://i.imgur.com/Pu4FHi4.png

I like to code with about a 9 point font, in order to maximize the amount of code per screen without going too far into the illegible. At that size, the proportions of even a single pixel are large enough to make any anti-aliasing annoying. You lose the sharp contrast that every good font needs to have along its edges.

Bitmap fonts are my favorites.

"Bitmap fonts are my favorites."

Mine too. Dina is my font of choice for now, also because it does a good job "to maximize the amount of code per screen without going too far into the illegible", among other things. If you code just with ASCII, maybe you'd like to try it if you haven't already.

That isn't what it looks like on my computer. I suspect this image has been resampled because even aggressive hinting wouldn't generate such rough forms at 11 pt.

At that size I would disable anti-aliasing in .fonts.conf. It still looks legible, though I wouldn't code in it (much less any font at that size).

Seconded. I used to use Menlo, then Incosolata. Ubuntu Mono is by far the absolute best available for programming. Love it!

Still prefer inconsolata at the moment, any particular feature of ubuntu mono that you feel puts it far ahead of others?

Can't say, just how it looks. It looks incredibly smooth and well thought out. I don't know, specifically. Just like how it looks.

The letter l on it's own at small font sizes resembles the number 1 in other fonts too closely. In fact, my default sans font (DejaVu Sans) has the 1 shaped just like the Inconsolata l. I'm sure it's something you get used to but I personally prefer the style used in DejaVu Sans Mono or Ubuntu Mono, where the l shape can't be mistaken for anything else.

The italics are amazing - very visible and distinct from the regular font, making it a great tool for validation. E.g. it's very noticeable when a CSS rule is not italic all of a sudden (misspelled). It adds a nice layer on top of colors to distinguish between different states.

The lack of bold weight for inconsolata really kills its utility for me.

FYI Inconsolata was (also) designed by a programmer: http://levien.com/type/myfonts/inconsolata.html

It has a very different look and feel though.

I'm quite partial to Liberation Mono, myself. But in looking at it side-by-side, it's very similar to Ubuntu Mono.

Liberation: http://cl.ly/image/2y2E3m211H1V/Image%202013-09-09%20at%2010...

Ubuntu: http://cl.ly/image/000u0s3E2b2V/Image%202013-09-09%20at%2010...

Quite often use Monaco myself, it has a very similar look to Ubuntu Mono but less seems less 'rigid'

Anonymous Pro is another excellent choice, very crisp.

I like Ubuntu Mono too, but only in terminal. However for IDE I cant find anything better than Consolas.

ubuntu mono doesn't seem to scale well, at least on my tests in notepad++ on windows. Once I get to 12 point it starts acting like it's bolded. Source Code Pro and Consolas don't seem to have this problem.

I've always used Consolas since it's been out, but after seeing Source Code Pro, that does seem easier to read.

Ubuntu Mono renders superbly in Ubuntu, but I agree with you that it doesn't render particularly well on Windows; when on Windows, I sadly go back to DejaVu Sans Mono.

Don't know if it's only me, but I keep changing/cycling fonts and color schemes of my terminal every few weeks or so. Currently using Source Code Pro with ZenBurn. Will give Ubuntu Mono a try tonight.

I resist making any changes to my fonts/themes. I can spend hours sitting there tweaking them instead of just sticking with something I know (Menlo + Monokai for instance) and then just getting to work.

My go to is Bitstream Vera Mono


Thanks, Source Code Pro looks pretty good to me.

I've been using gohufont for most of this year, and it looks better on my system than it does on that website.

Can you fix up the screenshot on Slant for me? It's not rendering properly on my computer.

The most confortable font for me is Lucida Console.

Am I the only one who likes OCR A Extended?

Besides picking apart small issues like the u and m and proportions, I think my main issue seems to be that your website does not showcase the font anywhere besides screenshots at the very bottom.

People don't care about your story, updates, information, etc (as much). They want to see your font. Make it shown at the very top so I don't have to scroll 3 pages to see a screenshot link. Take a look at how other font people showcase their fonts, something like a nice picture like http://blogs.adobe.com/typblography/2012/09/source-code-pro.... is all you need. But showcase it!

Overall though, I actually really like it. I think I'll give it a try when it comes out.

> Besides picking apart small issues like the u and m and kerning,

Kerning? It's a monospace font. You don't kern monospace fonts.

Wrong word, I meant proportions. I don't like some of the character heights and proportions.

This font will drive a dyslexic programmer mad.

I want to like this font. I love the theory and craft behind its creation. And it will no doubt work for some people (just reading through the comments that is obvious).

But from the first view, and at all pt sizes, something felt a little off-kilter. It took me longer to read through the lorem ipsum and other sample text. I had to focus more at the individual characters, which is perhaps exactly the opposite of the goal. And I think this was even magnified by the monospacing.

This font is clean. Nicely designed. But again, it will not work for a dyslexic programmer. The rules became restrictive, forced a little too much individual, systematic design, without looking at the whole.

What I mean is that too many characters are weighted in such a way that it fights the character's basic orientation. The '8', '9', 'e', 'a', and many others, pull themselves down. I 'feel' them swinging on their axis and hanging upside down. I feel other letter's rotating around a vertical axis. The letters feel unbalanced, sitting uneasy on one axis or another. The characters were so over-engineered, I'm not sure they have soul.

But there are many fonts out there, and just because this will not work for some people isn't reason enough to say it won't anybody. Kudos to the effort and experimentation.

"m" doesn't seems nice http://pcaro.es/i/Hermit_10pt.png

I studied the Lorem Ipsum (thats why its there) and the "es" doesn't look so hot either next to each other. Or was that "se" hard to tell.

The designer should be proud that the worst problems that can be found by picky people who stare at screens for 12 hours a day are relatively minor and easily fixable. Its a good programming font. Once its an "apt-get" away (and what are its licensing terms? I must have missed that part) I'll probably deploy it and use it.

The upper-case S looks like it is about to topple forwards.

I can't stand the k, it looks confusing to me at a glance for some reason...

I really like the m, not fuzzy and I can tell right away it's an m. To me it's not so important how pretty it is as much as how easy it is to tell what is what. Lower case k looks really good to me too, too often that and lower case h are sort of fuzzy and hard to distinguish in small size.

I feel the need to include the obligatory link to PragmataPro: http://www.fsd.it/fonts/pragmatapro.htm.

I couldn't be happier with this font, and feel like it was worth every penny. It did take some time to adjust to the narrow width of the characters, but it looks totally natural to me now. I also love that the author keeps updating the font regularly. In particular, adding in the Powerline glyphs was great.

I kinda like it when big, but then when I set it small, I change to a bitmap font like 6x13 and it looks better :(

"but a font by a programmer makes as much sense as a database library by a font designer."

"a bridge for pedestrians, by a pedestrian".

I wonder why when a designer kind of guy tries to get into programming he generally gets encouraged and when a programmer tries to do some artsy/design stuff he gets slammed down ?

"I wonder why when a designer kind of guy try to get into programming he generally gets encouraged and when a programmer tries to do some artsy/design stuff he gets slammed down ?"

Because, despite frequent claims to the contrary, this industry/community/profession is actually pretty damn inclusive.

As long as you aren't female. http://t.co/PFuwmChLkQ

To me, Consolas is the only programming font that looks natural, as if it isn't even monospace.

Ok I hate being likbaited into wondering about a page hunting for a download link, only for a link to be bogus and then there is no font. You know what I mean.

I also like fonts that look great without anti-aliasing. There are no examples of that there. And that is where it is the hard work begins(in making fonts). Font kerning is a sucha nitpicky process. Especially when you consider many font sizes and have excellent rendering for each on of them (without antialiasing.)

There is no opinion about the font from me - there as there is no font and I can't try that. Probably better compose a font and then ask for opinion.

Hey man, I give you full props for making a font. Not an easy thing to do, especially for a programmer.

That said, I find it hard to look at and hard to visually parse. Keep at it though, I have faith that you will hit that sweet spot eventually.

This font will make engineer-types happy, because it's been made in methods that engineers understand and like. Reminds me of Soylent- we don't need to listen to experts in that field, because this is a person I can relate to just going ahead and doing it.

I'm not saying this guy should stop- quite the opposite, please explore, have fun with this, learn. It's the most wonderful thing a person can do.

I don't want to criticize him for trying, I want to criticize us for loving it. Yes, myself included.

We're falling for the same trap that is used in those ads about how a stay at home mom came up with a new skin treatment. People want to believe that they are brilliant, that they are right. When they see someone just like them going against the grain, they want to believe that person is correct.

So the next time you see a post that says "Made by an ENGINEER" and it isn't something an engineer normally makes, do a quick "%s/engineer/stay at home mom/g".

Looks interesting. Really wish I could download it now. I definitely want to see it when it's done, but how will know when that is? If I had even a beta version to play with I'm much more likely to remember to check for updates later.

That said, I'm really happy to see more programming fonts! I love Inconsolata[1] and used to use it for everything. However, recently I've been using Source Code Pro[2] and can't break myself away from it.

[1]: http://levien.com/type/myfonts/inconsolata.html [2]: http://sourceforge.net/projects/sourcecodepro.adobe/

> You BLEW UP all my monthly bandwidth.

This is why static content should be served on GitHub, or a similar zero-cost and unlimited-bandwidth host.

it look nice but without download link, I kinda wonder what this post doing here...

I applaud this effort. It's always good to step out of your area of expertise and try something else. It's how lots of people got started programming. (e.g. "I was a loan officer and was tired of calculating amortization schedules on my HP calculator...") It's even better that he's documenting the experience.

Too bad he's doing it publicly because the first comment I see on HN is insulting criticism. Geez, people, you can't even download the font yet to see if it even works for you! And he's said it's not done yet. Cut the guy some slack.

When hackers start designing typefaces — lovely! But nothing new under the sun: Don Knuth worked together with Hermann Zapf (e.g. on the design/development of AMS Euler). Before that legendary collaboration, Knuth worked alone on his Computer Modern Family — which is, by all means, a feat of clever programming in ways designers never could think/dream of (parameterized design variables, etc.). But Knuth eventually realised he needed the help of a vetted calligrapher and type designer like Zapf to get the best out of his software — and improve on it (Knuth’s account on the collaboration is a great read). A lot can be said (and has been said) on design principles, objective geometry vs optical subjectivism, quantifiability, measurability and programmability in and of type design. Adrian Frutiger probably goes farthest in this theoretical thinking.

Anyhow: I fully support hackers who engage in typography and type design. I fancied both the designer/developer of Hermit, as the HN community in general might be interested to hear the opinion of the type design pro’s. They’ve had their dedicated forum since 2000. I cross-posted the link to this thread on Typohile.com in the hope typophiles over there would want to share their views. If you’re interested, it’s here: http://typophile.com/node/106204

Now it's 404 the site said:

The server can not find the requested page:

* /p/hermit (port 80)* Please forward this error screen to pcaro.es's WebMaster.

So the server has been crushed under the boot of hacker news.

Does anyone have a cached copy?

Yeah, that gets the text but unfortunately no pictures of the font :-(

Looks ok, but how is this better than Consolas or Anonymous Pro fonts?

Here's a screenshot of my Vim using Anonymous Pro:


Ugh. This is terrible. Use Anonymous or Anonymous Pro.


This looks nice, although it might be a little wide for my tastes.

One feature I would love to have (for some reason) in a programming font would be ligatures for multi-character operators. For example, >= would turn into ≥, != into ≠, && into ∧, -> into →, => into ⇒, etc. Obviously all of these would have to have extra spacing to preserve the monospaceness (although I'm not sure really how crucial that is, as long as you don't go into fractional character widths).

I like the look of this--not necessarily for my daily coding font (Source Code Pro, lately, but Consolas works in a pinch) though it would definitely help for any presentation that needs to display code.

It just looks like a good presentation font to me, with how clean it is at the larger sizes. Might be my love of 8-bit gaming readable fonts, though.

I find the code really easy to read, but I find the comments and prose really difficult to read. I'm not sure whether that's good, but I lean towards "no".

Nevertheless, nice project! Don't let the naysayers hold you back; programmers can get into font design just like font designers can get into programming.

I do not like the Courier style "m" with unequal gap. Also the t and f bar not crossing on the left. Makes the gaps look large with the succeeding letter, notice potato at small point.

The x-height is too small, makes some letters undifferentiable at small size.

Also if it's programming, need more examples. For example ( next to <.

I agree about the cross-stroke. I have to do a double-take every time every time I see a 't'. Also, missing the first downstroke of 'n' and 'r' throws me off ('m' less so).

I this is a really font, and I appreciate the clear set of rules and guides that help establish the coherence of the font. However, I dislike the overall appearance and I think I'll be sticking the the default Sublime font (Menlo) which I have no trouble reading and is more aesthetically pleasing.

Lack of a bold weight is also making this non-viable.


I can't tell if this looks ugly or not, before I try it, I really can't relate to the aestethics, before I have tried to use it for a while. What really matters most to me, is how perceivable the source code becomes with it, that is with what ease I read it. I look forward to the download. :)

What about Cyrillic support? One of the main reasons why PT Mono and DejaVu Sans Mono are my favorites...

What's the font of the website's title? That font is ten times better than the showcased font.

It's Roboto.

Very nice looking glyphs.


* I think "sadipscing" shows a minor kerning issue after the "i"s in the 14pt example image. Or is it the monospace's odd number of pixels issue?

* Similarly the "k"s.

* Maybe you should substitute the python example with a C one with curly brackets and semicolons...

Anyhow, a very good looking font.

Looks good to me but I think I would prefer if the cross bars (eg: on t and f) actually crossed the vertical lines a little bit. Also that upper hook on the f looks somewhat comical.

Great job though. I could definitely put this font to use without feeling a strong urge to change it.

Making the crossbars cross the vertical lines would also allow the the character to be more centered. At the moment at smaller sizes you get a noticeable gap between the 't' and the 'a' in 'potato'.

Seems a bit too wide for my taste, and all the characters seem slightly shifted to the left.

Looking at the 14-point sample, the weight of the lower-case 'y' is too light compared to the neighbours. Same for the 'v' for that matter. I don't much care for the '9' either, but I can't tell you exactly why.

Good luck!

Unfortunately this looks like to me like a really incongruous terminal font one would see on a computer screen in the 80s. I wish he would qualify his goals by explaining what he didn't like about all of the other fonts he listed.

More open source fonts are great! But as somebody who doesn't know too much about fonts my first thought was.. I could as well code in Comic Sans. I don't mean belittle any work, it's just what crossed my mind.

Is the shading effect that is visible on the glyphs a part of the font or due to some postprocessing done by his font renderer configuration? I think it looks rather bad, but I've always disabled Cleartype et al.

In 8 point font it reminds me a lot of the fonts you'd see in old low-res (320x200) videogames. I didn't look in close, but the corners even looked darkened like you'd see in those sorts of fonts.

It's very 'square', it just doesn't look right to me. Not sure if if it's the spacing or if it's just too 'wide'.

I think that there should have been example usage of the new font within the web page rather than a link to an image...

That said, I like the font, so am also dismayed that there is no download available.

Which formats are going to be released?

Personally I'm a fan of using bitmap fonts - currently I use Tamzen for my shell/editor:


Ooh, very nice. I like bitmap fonts too, but I use Terminus and GNU Unifont (fallback for glyphs not in Terminus) myself.

I use Terminus too. To me, nothing is more readable [1] than Terminus [2] with the solarized-dark [3] color scheme.

[1] http://i.imgur.com/J7M22rc.png

[2] http://terminus-font.sourceforge.net

[3] http://ethanschoonover.com/solarized

I used to use Terminus, but IIRC Tamzen had a nice size for high DPI monitors, whereas Terminus felt too big or too small.

That font gives me DOS and Windows 3.11 flashbacks.

Honestly, I work mostly in Java, and almost never see anything that has to be lined up based on character width. So I turned off mono long ago and just use the best font I can find, not some mono variant.

I, for one, really like his use of potato.

Also, thanks for sharing. I disagree with any people saying engineers can't make fonts. It's like saying engineers can't possibly have any other skills. Font away!

"Bandwidth Limit Exceeded The server is temporarily unable to service your request due to the site owner reaching his/her bandwidth limit. Please try again later. "

Argh, couldn't even catch a glimpse

I'm liking OCRA lately: https://en.wikipedia.org/wiki/OCR-A_font

    apt-get install fonts-ocr-a

At first glance, I really like it. It's very friendly and relaxing.

Looked great on the web page so I downloaded it, installed it, and set my (XFCE) terminal to use it. It looks like crap, for some reason, and I quickly switched back to my normal font.

Kind of looks like a bitmap font that had hq2x applied to it

Bitstream Vera Sans is better than Hermit IMHO, since it already exists and has no 'Cons', only 'Pros'.

Consolas and Bitstream Vera Sans are unbeatable!

Try Source Code Pro, by Adobe.

When you release this, please release source files under a permissive license (like inconsolata has) so that others can make their own variations.

Nice article. Personally, I am a big fan of Tamsyn. When I installed Debian earlier today, it was the first thing I downloaded after Xorg.

It seems that link is 404 not found. Is it changed?

Are there any fonts designed specifically for Retina displays yet? Or does that just imply 'no font smoothing and large sizes'?

Inconsistent kerning is my biggest complaint when attempting to read code with this font. The t and f bump to the left is jarring.

Looks pretty good at lower sized fonts, but I regularly work in 24pt font size and it looks terrible at that size. Too bad.

I usually code around 10pt - more would mean I couldn't fit enough code on the screen... Are you talking about coding at 24pt? I'm interested why you'd do that?

Screen DPI varies widely and usually isn't correctly configured if it is at all. My main coding desktop is a little small at 14pt and probably should be a big larger. This is a pretty small monitor holds just a little more than a piece of physical paper and is driven natively at 1280x1024.

Someone with a "living room TV" sized mere 720px monitor is going to have a completely different perspective on what is too big or too small.

This is aside from the "my classes are 5000 lines long" problem which may or may not exist and may or may not be required by peculiar exceptional business needs anyway (required as opposed to being a style "problem")

And to add yet another orthogonal dimension to the problem, I code full screen using awesome as a WM... I use all of my screen for code except two text line equivalents at the top. I can see how someone who is tab bar'd menu'd windowed down at a tiny little fraction of a monitor might need a smaller font just to see anything. I've seen screens decorated up to the point that the actual content only has a post card sized space to work in, surrounded by massive unproductive clutter. They're going to need a tiny font indeed...

I don't know if you ever find yourself in a situation where you can't avoid eclipse. The tabbarmenuwindow problem is truly horrible.

I'm only going to pay attention to a single method anyways, so I don't need much on the screen. It's very lovely to read at that size and I don't need to strain my eyes at night.

to save your eyes

Eh, this font could use a little TLC on some of the glyphs. However, it is easily readable and looks fine at 10 pt.

is it just me or i find it really hard to read/look at it. reading speed reduced like more than half.

I'm a Ricty user, but Hermit looks really good, nice job! Also, loved that jellybean colorscheme.

Looks like we crashed his webhost. :(

Please make the characters taller (h/w ratio), they seem a little fat.

Otherwise I like how it looks overall.

I like it. There's a hint of Consolas in there, I feel along with Bitstream Vera Sans Mono.

IMO, the rough shapes of the letters are too similar. It's not very legible.

This looks like a monospace version of Comic Sans to me! Is this a joke?

Looks good, please do repost when you've got some downloads ready.

I think it works very well. I can read it with no effort at all at 8pt!

The page is dead. Does anyone have the updated link?

Proggy fonts, swear by em

noticed the domain is expired tho.....doh

There's a .tgz of all the variants and formats on the AUR: https://aur.archlinux.org/packages/proggyfonts/

A strong contender to Proggy Clean or ProFont.

Release soon! Really excited about this.

WTF is wrong with Courier New? Haha, just kidding.

Can you explain to a font ignoramus like me what is wrong with it?

I worked at a printing company a long time ago (although in IT not as a graphics artist), and its a slightly rewarmed serif font thats about 200 years old and designed for newspaper levels of contrast (thats what it was used for two centuries ago).

If you're going to stick with serifs try something like Georgia which is also a warmed over serif font, but somewhat More warmed over than Courier New.

If you want a pleasant holy war right up there with debates about wifi emissions and if religion is true, try suggesting the modern printing and computing world should stick in the sans serif families. There's plenty of journal articles on both sides, etc.

Most debate about font shape is meaningless without discussing color scheme. Grayish blurry-oish text on light yellow medium-large size is what the Slab Serif families were originally invented for two centuries ago ... what a surprise they'll look bad compared to a sans family font (or most anything else) on a pure white backlit background with pitch black letters.

Note that most end users don't really care. The TV/monitor is covered with 1/4 inch of dust and cat fur, they're reading printed matter nearly in the dark and they don't really care what the color temp of their light source is other than it being the cheapest. You're talking about optimizing in the decimal places for the snobs not basic legibility for the masses.

We're talking about programming fonts here, though. Serifs have been proven easier to read than sans-serif fonts in usability studies. Also, there are multiple advantages to using monospaced fonts in programming applications.

No, serifs have not "been proven easier to read than sans-serif fonts". Nor has it been proven the other way around.

It's a serif font, which makes it noisier in my opinion. It's also a relatively thin font, making it more difficult to read.

Compare the fonts on this page. Courier gets muddied when it's bolded, and feels a tad thin when not, in my opinion:


The last 3 fonts listed on the page are really strong for programming.

The l has a serif, but other characters do not.

On Courier New? Mmmm, a lot of the characters have serifs.

l and 1 look very similar. Aside from that, I think it's a great font.

it is subjective. non-argument.


It's ugly. Let's move on.

There's no download link. That means the font doesn't exist. And what grinds my gears even more: by submitting NOTHING the submitter has earned by hate and the maker of the font, no matter how nice the font may or may not be, will ensure that I will never mention the font to anyone. And if anyone dares name the font they will be getting an earful in return.

Submitting garbage (non-existent garbage) like that is like promising to do something... later. And never delivering.

It's coming soon - I think he wanted some input before making a release.

Hope you release them soon, i want to test them in real :)

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact