Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Luculent, a new code/terminal font (eastfarthing.com)
120 points by a_e_k on Mar 7, 2014 | hide | past | web | favorite | 96 comments

Still haven't found anything that beats Consolas (at least on Windows machines). Inconsolata comes close, but the strokes are a bit thin and spacing is too crowded.

EDIT: OK actually I just tried the hinted TTF version of Inconsolata from Google Fonts [0] and the stroke width is way better. Still crowded - like each glyph takes up juuuuuust a little too much of its bounding rectangle (whatever you would call that).

[0] http://www.google.com/fonts#UsePlace:use/Collection:Inconsol...

I use Mac, not Windows, so I'm sure I see them rendered quite differently than you, but I prefer Source Code Pro.[1][2] They are extremely similar and I agree nothing else comes very close.

It's the lower-case 'i' that does it for me.[3]

Fewer serifs in general allow me to read more quickly, I feel. 'i' has 1 to Consolas' 3, while lower case 'l' (L) has 2 to Consolas' 3.

One negative is that I much prefer Consolas' 0-with-slant to Source Code Pro's 0-with-dot.

By the way, the first link below is from a very cool resource I just found with votes and comparisons of many of the most popular choices: http://www.slant.co/topics/67/~what-are-the-best-programming... (It seems the web has become more informative on this topic than the last time I surveyed all the font options.)

Finally, this is what the designer of Source Code Pro, Paul D. Hunt, had to say about the two[2]:

> Consolas is narrower than most monospaced fonts at 55% of the Em square, where I stuck with 60% for Source Code. If the narrowness is a top selling point for you, then Consolas is definitely king.

[1]: http://www.slant.co/topics/67/viewpoints/5/~what-are-the-bes...

[2]: http://blogs.adobe.com/typblography/2012/09/source-code-pro....

[3]: http://blogs.adobe.com/typblography/files/2012/09/Confusable...

I felt the exact same way about Consolas' i and l… so much so that I hacked its metrics to remove the extra serifs.


This is such a nerdy comment, and I love it.

Another vote for Source Code Pro (Semibold 12, white on black, full screen gnome-terminal, compiz 3d workspace box spinning model yumminess). I also like some console fonts and frequently use them for coding on my laptop (17" Macbook Pro + Gentoo + 2xSSDs + ZFS).

Me too, I use source-code-pro almost everwhere (I have problems making it stick with AppleScript because I use different editors I believe). I love it.

I like Source Code Pro as well, but I agree that nothing beats Consolas. It's just such a well-designed font, and works so well on Windows.

Consolas stands out on Windows as it's highly tuned with ClearType in mind. Many excellent fonts that render fine on MacOS are almost unbearable on Windows, like Inconsolata.

Agreed, which is why I've had a hard time finding a good alternative to Consolas on Windows. On other platforms I like Source Code Pro.

I use it on Linux and it works really well too (at least it does with Ubuntu's font rendering or Infinality).

Anonymous Pro http://www.marksimonson.com/fonts/view/anonymous-pro is what I use in my terminal and editor.

>>Still haven't found anything that beats Consolas

Have you tried Ubuntu Mono? http://www.google.com/fonts#ReviewPlace:refine/Collection:In...

Always appreciate a new code font. This one seems to have a very laid-back, "fun" style, which is really not for me, but still nice to see work in this area.

(For reference, I use DejaVu Sans Mono, which is wonderfully plain and simple.)

I also use DejaVu Sans Mono. It looks like this, if anyone is curious: https://mediacru.sh/MuTmREloZ64x

Thanks. I can't say that I ever really thought of it as having a particularly "fun" style. Monaco and Monofur and some others always seemed far more so to me. It could just be that it feels plain to me at this point due to familiarity, however.

And yes, Deja is a good alternative too. I certainly used that one for a while.

Overall, great font! The only thing that I don't like is the lowercase i, but maybe I am just being picky. All of the characters are very easy to distinguish.

I used Deja Vu for a long time, but have since moved to Source Code Pro. I am loving it.

Source Code Pro looked good when I saw it in webpage images, but when I switched my iTerm2 to it, it looked very... stumpy.

Have not tried it in Linux yet. But DejaVu is the only font yet that I've found satisfying on both Mac and Linux (with Ubuntu's font rendering patches)

I am enjoying this font. At first when I saw the screenshots I thought I wouldn't. But, I like to give every new "programmer" font a try. I tried it and I didn't like it at first but it's quickly growing on me. Seems to work best at 13px in SublimeText 3 on my rMBP. If I make it smaller then I feel the need to add line padding.

Before this I was using Fantasque Sans Mono[1]. Thanks for sharing!

[1]: https://github.com/belluzj/fantasque-sans

Fantasque is really nice, thanks!

Here's an incomplete list I tested awhile ago:

  Andale Mono
  Bitstream Vera Sans Mono
  Courier New
  DejaVu Sans Mono
  Droid Sans Mono
  Liberation Mono
  Lucida Console
  Source Code Pro
  Verdana  // yeah, Verdana is still a king of small
Luculent appears awkwardly tall, thin, and squished in Sublime. Very hard on my eyes. Playful "i" but way too hectic altogether. I appreciate the thoughtfulness in approach and hope it works well for others. For all the people who love Verdana: the DejaVu or Bitstream (nearly the same, same author) typefaces are the closest. Still using DejaVu Sans Mono for now.

I'll add my favorite to your list: Latin Modern Mono. It's based on the Computer Modern font designed by Donald Knuth.


Thanks. That's quite the collection. I just tried all of those Latin Modern Mono size variations but they don't sit well with me for code. With and without anti-aliasing, it's very heavy/blotchy in parts of most of the letters. It's on the order of a typewriter style. As with the other recommendation, it's still a good style in a large size.

Good addition. Dina is thinner but very similar in proportions to DejaVu at size 8. But at 8 or above, it doesn't cut it, having less lines and lacking enough weight to focus. (Note: I use a white background, which obviously affects everything.) That said, Dina outshines DejaVu in readability for anything smaller.

Edit: Dina has a lot of beauty. Nice blocky style once it's large enough. It's also excellent at a very tiny scale in a web browser.

Edit2: Sublime is giving very different and inconsistent results vs. some IDEs and other interfaces. Blah, really depends.

Dina was great during the Windows XP days when ClearType wasn't the default screen setting. On Windows 7, where ClearType is already set, it doesn't look as good as it did before. (This is just my perception, of course.)

Good call. I should've remembered it. At a size of 8 or 9, I much prefer DejaVu Sans Mono where it's more readable but packs in more lines. However, I'd say anything 10+ I start to prefer Ubuntu Mono much more 'cause the letters are more balanced and not too tall.

Dina and Anonymous Pro.

Not sure why you have proportional Verdana on the list though.

No Envy Code R?

Thanks, checking it out. Just A/B'd them. Envy Code R is good. However, it falls short for me. DejaVu is more readable, filling more of the space, and DejaVu packs more lines in with a smaller default line height. Envy's curly brackets are too whimsical for their own good; they're abrasive yet too similar to square brackets when unfocused, scanning quickly.

I like Envy's actual style otherwise though (in a larger size). I'll keep it in mind for design.

Thanks for this. I think I will stick with Inconsolata but I'm glad people are making new fonts and trying things out.

Inconsolata is my favorite too. I've actually moved to Inconsolata-g because of the "0"s http://leonardo-m.livejournal.com/77079.html

I moved away from Inconsolata because of the lowercase g, and I was excited about your link until I saw that despite it being called Inconsolata-g, the g has remained the same. Instead I now use the packaged font that comes with Espresso (Espresso Mono) (but I use it with Sublime Text, you can find the font in the Espresso package) and it's treating me well so far.

Here's an example, you might not like the zero: http://i.imgur.com/QNpR2Og.png

Yeah I agree. I have tried several fonts and finally gravitated to Inconsolata.

If you've spent time searching around for a great coding font, I recommending giving proportional fonts a try. Chances are your system has a proportional font with everything (else) you want.

"But things won't line up, right?" Not exactly, but I find that such concerns were a bit of a distraction, anyway. With a little emacs command, I can switch back to monospace when needed, which isn't all that often.

Like others, I applaud the OP's work and always appreciate a new typeface. Just wanted to share the viewpoint.

My current favorite monospaced/coding font is (or, was) "Cosmic Sans Neue Mono"

It's apparently been renamed to "Fantasque Sans Mono", in part because it was suffering from the name similarity to Comic Sans... (a shame, I thought that was kind of funny :)



I find it nicely quirky/playful looking compared to the somewhat stolid appearance of many monospaced fonts, while still being extremely readable and practical... :]

Terminus at 16pt - http://i.imgur.com/cHk7yUE.png

I spend my life in idea IDE's on Linux and thanks to the shonky font rendering in swing apps on Linux the only two that I can standard are Deja Vu Sans Mono (which is nice) and Terminus at 16pt which then looks like Terminus bitmapped.

You're probably already aware of this, but just in case: it's possible to force Swing (and AWT) apps to use the system's font rendering with the "swing.aatext" and "awt.useSystemAAFontSettings" respectively.

I have the following in my IDEA .desktop file:

export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true' && idea.sh %u

This is the result: http://i.imgur.com/3V9Nf3k.png

Thanks and yes I've played with those settings.

While much better not quite right still and also I have some screens rotated so I have hrgb and vrgb which looks fuzzy, I played with setting it to gasp/lcd.

Using Terminus because it is a pixel perfect font with no aliasing means that rotation etc just don't matter.

The first thing I always, always look at when reviewing a new monospace font for coding is I look at the 'l'.

The first time I googled monospace fonts, you see, to decide what I wanted to use when I was setting up my first IDE (intelliJ, I think it was), I saw a bunch of images of different fonts, and when I saw the 'l' of DejaVu Sans, my jaw dropped. It was beautiful.

You have that similar style of l. Source Code Pro has it, as does Ubuntu Mono and Menlo. It's that straight notch at the top with the curvy tail at the bottom. I love it. It's kinda quirky but elegant at the same time.

I'm still using DejaVu because many of those other ones have the asterisk symbol appearing too low for my taste.

I like your font. I see what someone else meant when they said it looks kinda 'fun'.

In your screenshot in the top left, I noticed the word 'int' looks a bit wonky. the n and t are kinda leaning into each other, with the i leaning outward. Character balance is a hard thing to achieve, I've read. Keep working on it, it's a very lovely project.

Found Menlo for Windows and gave it a shot. The "i" italic is way too slanty, it looks weird with syntax highlighting.

Then I found Meslo, which is some guy's attempt to copy Menlo and make it available for windows; this fixes my problem with Menlo, and also fixes my only problem with DejaVu : the dotted zeroes as opposed to slashed zeroes.

Current monospace font recommendation: Meslo https://github.com/andreberg/Meslo-Font

screenshot of meslo in action in dark ide (pycharm) http://i.imgur.com/dSw8e2W.png

Thanks. As for "int", I can see the argument regarding the positioning of the i. I suspect that's because I chose to have the larger dot follow the top curve and lean to the left. (It looked much more odd leaning to the right). I think this gives the illusion of the whole thing being more left balanced. I might see about switching it to round towards the left when centering the stem.

The site claims that it's 'crisp,' but the sample pngs are blurry on my Mac.

(Yes, I know why this is the case technically, but I don't need to get into that to make my point.)

Macs ignore hinting when rendering antialiased. Try the prehinted version (probably 72 or 144 DPI). It also works best with dark on light on the Mac due to gamma.

Regarding PNGs, the samples are rendered with hRGB subpixel rendering. I don't think Macs have ever used anything else, but that may be a possibility. Hopefully its not just browser resizing.

The fact that light-on-dark text looks terrible on Macs isn't due to gamma—it's due to the fact that subpixel rendering for light-on-dark text is broken on Macs.

More info: http://www.lighterra.com/articles/macosxtextaabug/

Generally I like Mac OS X's font rendering much better than Windows's, but this is one aspect that drove me up the wall when I was redesigning my personal website. (I wrote a bit about the issues I had with this bug in this article: http://kronopath.net/blog/dawn-of-a-new-day/. Search for "The bug".)

The "i" seems to be positioned weirdly (not a font expert). What I mean is that "int", "unsigned" and "Wizard" all look like the "i" is shifted slightly to the left.

That's commonly referred to as Kerning: http://en.wikipedia.org/wiki/Kerning

I find that the biggest problem with the font as well. For a monospaced font, it doesn't look all that monospaced. Many of the glyphs have odd positioning. It gives the font a look of activity or "fun-ness" that doesn't match well with it's intending purpose as a coding font.

It does feel a bit weird. However, I do like the "fun" feeling of `if` statements now.

My terminal font of choice in recent times is Hermit (https://pcaro.es/p/hermit/) - very readable anti aliased font both in the terminal and within IDEs (on Linux). Somehow doesn't render as well on Windows (but then again, who uses Windows for serious work anyway ;)). I can't wait to try this out once I get my hands on my personal workstation, since there's no such thing as too many programming fonts.

Luculent looks interesting, but I still haven't found anything that beats Ubuntu Mono on my machine. I think it's interesting that coding font preferences differ based on operating system. Regardless of operating system, the favorites I tend to see on threads like this are Ubuntu Mono, Dejavu Sans Mono, Inconsolata, Consolas, Source Code Pro, and Monaco.

I like to test drive new fonts whenever they pop up, but I always come back to Ubuntu Mono! For anyone wanting to see/try it -


Definitely appreciate a new code font, even if this one doesn't so much look like it'd meet my everyday use. It's a bit too "thin", for lack of a better word, even if it does meet most of my requirements for distinguishing characters/numbers quickly.

But oh man do I love how readable that is at 5x11 pixels. That's beautiful, good work.

Thanks, glad you like the small sizes.

By "thin", do you mean narrow and condensed, or do you mean the weight of the stems? For the former I wanted a decent amount of code to fit on a line -- I tend not to like the expanded look of some fonts and prefer something a bit more condensed. If you mean the weight, that's something of a design constraint due to trying to keep it crisp at low resolutions by grid-fitting to whole pixel boundaries.

I think it's the weight that's throwing me off--and yeah, I realized they were probably linked after I said it.

Yeah, I'd say it's too narrow for my tastes. But it's good to have more options.

OS X user here. While I generally prefer Menlo¹ myself, I’ve found myself predominantly using Everson Mono² simply because of the wide range of characters it supports in Unicode’s BMP (and unbelievably, SMP as well!). I’m pretty sure it contains glyphs for more Unicode codepoints than any other monospaced font mentioned here. Not to mention that it was created by Michael Everson³, who has made a sizeable number of contributions to the Unicode Standard himself.


¹ — https://en.wikipedia.org/wiki/Menlo_(typeface)

² — https://en.wikipedia.org/wiki/Everson_Mono

³ — https://en.wikipedia.org/wiki/Michael_Everson

Two quality fonts that I haven't seen mentioned here yet: Bitstream Vera Sans Mono, Pragmata Pro.

Pragmata Pro has been my favourite for the last year or so, and was the first font to truly displace fixed 6x13

... but recently I've been addicted to Cousine.

I can still remember a time when monospace, aliased bitmap fonts were preferred by the majority of coders, but it seems things have changed especially in the past few years... but I still prefer the standard X fixed fonts with their zeros slashed and find antialiased fonts more difficult to focus on.

> things have changed especially in the past few years

In one word: Retina.

Cool looking font, it reminds me of my handwriting style (especially the italicised version). If the author is around, can you explain why you chose to extend the brackets and parens below the base line of the other characters?

Thanks, and I'd be happy to explain. They extend from the bottom of the descenders to the top of the ascenders. So if you look at something like: [h][a][g], you'll see the 'a' is roughly centered and the top of the h and the bottom of the g line up. So for things like foo() and class blah { ... }; the o and semicolon are roughly centered vertically on the opening paren and closing brace, respectively.

If you look at Consolas, for example, you'll see this is hardly unique.

Interesting. Thanks for sharing this font! I've been trying it out for a bit and really like its feel. Great work!

This looks decent but not so great when using large sized fonts. I have yet to find a better font for my terminal than NanumGothic (http://dev.naver.com/projects/nanumfont/download). It was created from a large Korean web company called Naver and I love the horizontal spacing especially when using larger sized fonts (ie size 16 and above since I like fonts large on terminal)

Not unpleasant. The 'i' feels funny and I'm not sure about the curvy 'y'. Maybe it's too similar to 'g'. But really not unpleasant.

Looks good and I'm sure it'd appeal to a good chunk of people, but it's not for me I don't think.

User feedback: for me a font is more than something that is easily read. I value font's that, in some way, make it _fun_ to write. For example, the font with iA Writer is almost addicting in the way it tempts me to write more. Of course, however, you would want monospaced fonts for coding...

Good work, though I largely prefer Source Code Pro (Medium). This is probably the most well-done monospace font I've seen.

If you want to take a look see here : http://store1.adobe.com/cfusion/store/html/index.cfm?event=d...

Do the ISO-8859-2 charset pretty please!

I certainly plan to keep expanding it. That one's on my list.

Always happy to try out a new monospace!

NB: In Mac Terminal, the box drawing characters don't connect. This is far more common than not, the easiest-access font that does this correctly is Monaco. I mention because the home page lists the box drawing characters as a feature.

Interesting. I thought I'd tested that fairly recently, but I'll check that again. Do you see the gaps vertically between lines or horizontally between adjacent characters? (Or both?)

I'm all about the DejaVu Sans Mono: http://dejavu-fonts.org/wiki/Main_Page

Best combination of readability and massive selection of Unicode glyphs of any fontface I've found.

Nice work. I'm in the middle of a big project so I don't want to take time to get used to a new font right now, but will try it again when I have some downtime.

N.B. I'm using Inconsolata right now, and have been for quite a few years.

I stared at the example and something kept catching my attention but I didn't know what it was until I compared it to my usual coding font (xterm6x13, modded with slashed zero) - the zero is slashed backwards!

Very nice. I'll stick with Proggy Clean but, as it is fixed size, and displays' densities keep increasing, I'll have to ditch it some time. Luculent is a prime contender for that spot.

Mensch, an older code/terminal font. http://robey.lag.net/2010/06/21/mensch-font.html

Any size larger than 10 is cut in the bottom of the glyphs when rendered in plan9port's acme windows. 10 and 9 look correct. Happens with pre-hinted and normal version.

This reminds me a bit of the programming books of old, where the paper was a bit cheap - a similar colour to the background of this H/N page in fact.

Definitely agree with some of the other posts here: looks like something I would use if I still played MUDs due to its playful feel.

Are these characters exactly 1/2 em wide? For Chinese and Japanese users we need them to mix with 漢字(which are 1em wide).

Not exactly. Their designed advance width is 1120 "font units". The TrueType convention (which I followed) is 2048 font units per em. So they're close but not quite 1/2 em wide.

However, many rasterizer round the widths to whole pixel sizes. Taking that into account, I do see them coming out to exactly half the width at certain sizes on this machine.

Like this font, reminds me of old soviet books, also the 'handwriting' effect is neat. Please try to expand more.

This font is too condensed and becomes unclear because of it.

Is there no good serif monospaced (preferably bitmap) font?

I prefer the Xterm default Fixed fonts ( http://en.wikipedia.org/wiki/Fixed_(typeface) )

The IBM VGA font is a close second: http://i.imgur.com/XtzqR.png

Reminds me of the TwitchPlaysPokemon phenomenon lately.

Any chance of a PCF version?

Pragmata Pro works for me

God damn, that's an ugly one. Super-thin, and look at the lowercase "i" slant backwards so much, it merges with the character before it, especially at small sizes.

It's the "square/angular" look I don't like. I prefer a rounded font.

Applications are open for YC Summer 2019

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