125 comments

[ 2.5 ms ] story [ 211 ms ] thread
I like the more rounded appearance of the glyphs, which to me visually resembles a sans serif typeface rather than a rigid monospaced font. It makes reading code typeset in Victor Mono more like reading an enjoyable piece of text.
Sometimes, it hasn't been done before because it has been attempted and discarded...
The "contact sheet" doesn't at first appear to contain the letter "l", but it shows up in the labels, so OK.

"Narcissistpotus"... heh.

The front page ticker also describes the font as ”(im)peachy”
It's a cool effort but I guess it's not for me — I much prefer <= over ≤ and >= over ≥ and !== over ≠ etc. because I find it more explicit and readable than a condensed form.
Many editors and terminals have a flag to disable ligatures.
Yeah, I tried ligatures and never liked them. If I type them as two, I'd like them to appear as two; I never liked it when I back-spaced on what _looked_ like one character and found two. Mostly because my head is usually a bit ahead of where my fingers and the screen are, so this throws me off and I have to go back (this is why I ended up back on vim after trying out vscode for a while, even w/vim mode, it's not perfect). Also, I could never tell the difference between single equals and long equals (that was really two). I'm glad they're there as some like them, but I don't get the appeal.
I fond that treating a ligature as two characters (or more) in the editor helps with that backspace problem. So if you type >= which is then rendered as ≥, a backspace should bring you back to >, not nothing.
reminds me a lot of Operator Mono/Book, especially the cursive variant
Downaloded, installed and paid for it. Thank you from Italy. ciao
There are some nice things about this. I really like how the normal text looks, but the cursive italics looks horrid!
Can somebody explain to me why narrow programming fonts seem to be trending so strongly lately? I really don't understand, personally.

I have a much, MUCH harder time reading a narrow font.

I also find it aesthetically inferior to a "non-narrow" font so much that even if it was as readable or more, I feel like I would have a hard time getting myself to use it.

Is there some other aspect that people like, such as being able to work in a narrower editor window? If this is purely subjective, why aren't non-narrow fonts also circulating on the front page every week?

Fitting more on the screen horizontally. Wrapped lines are a different cognitive load.

I personally don't care for the narrower fonts, but I can see the utility.

>Fitting more on the screen horizontally.

But screens for the most part have only been getting wider. I could see this in the days of square CRT's but most screens are fairly wide these days.

Reading a wide line of text is still hard visually, your eyes get tired from all the horizontal movement right and left.

Better to use the wider screen for multiple buffers of narrower code.

Another person posted something similar in the thread, but I'll reiterate: for people with poor vision, narrow fonts allow you to increase the font size, have a reasonable number of columns on the screen and have it fit into your field of vision. It's a life saver for me (usually coding at 24pt on a 13" monitor, which is as big as feels comfortable for me).
I don't get it either. back in the 4:3 days, I liked narrow fonts just so I could more easily view side-by-side code (e.g. vimdiff). These days, with giant monitors that are never more narrow than 8:5, I can have 4 files wide and be fine with a more traditional width font.
Some people fool themselves into thinking that they can save space by using a very condensed font. That’s not true. The squashed shapes makes the letters more similar, which makes the text less legible, which means you need to compensate by pushing up the overall size. You can only save space by optimizing for the most legible typeface, allowing you to reduce the size.

The Victor Mono site is a perfect example: the body text is set quite large, with very generous leading, and still it is very hard to read, partly because of the stretched letter shapes.

If you want to save space, just go with a proportional programming font. Legibility goes up because of kerning, and space is saved at the sacrifice of losing the ability to do ascii art.
I didn’t understand the appeal of narrow fonts until I switched to Iosevka, and now I’m a big fan.

I don’t see any readability problems, I can increase the text (important for my old eyes) without losing horizontal screen real estate, and I find the overall aesthetic quite pleasing.

https://typeof.net/Iosevka/

Thanks for this. I've been using Fira Code for years and recently switched to Go Mono with font size 14.

I tried Iosevka yesterday and so far I love it. I can increase the font size to 17 and not lose the horizontal screen real estate.

The ligatures and the slashed zero are definitely a plus!

Pro tip - Consolas is good enough. Any other font won't make you faster, happier or wealthier.
That's not narrow, though. It's very similar to a proportional font, like the one right here on HN.

Which is why Victor is already in my notes under ‘try out,’ as I'm a bit tired of rather wide Anonymous Pro―like I get tired of wide Verdana or Gotham. But the too-geometric lines are off-putting.

Have you tried Monoid [0]?

[0]: https://larsenwork.com/monoid/

It's a bit better, but still its strokes are strictly same-width—overall it's a pretty uptight modern grotesque. The goals seem different from mine, I don't really need miniature text.

I'd really like me a humanist monospace font with a bent toward serif-style shapes―particularly, a modulated-stroke font would be cool. Grotesques get really tiring after a while.

I've found Monoid to be one of the most "eye relaxing" fonts, but I have something for grotesque-sans styled. I use it with very large font sizes though, so the goal is probably different. Just wanted to make sure you knew of it!
I'm not loving the italics. I find them a bit hard to read in his code sample.
The cursive parts are less legible. I think it could work with some leading/trailing strokes removed. Preferably switch out the cursive r too.
The site seems to create a huge amount of load on my computer. As soon as I open the page, usage across all 4 of my cpu cores seems to shoot up from 1-10% all the way to 70-100%. I'm running Firefox 69 on arch linux.
Seconded, though not as bad for me (FF 70, win10). Eats about half as much CPU as decoding a 4k video, which is crazy for what appears to be a static site.

Just tested on arch w/FF 70 and much worse.

Most likely the color gradient background fading the whole time. If you don't have a good gfx card I guess it might be taxing on the cpu.
Really not helping the author justify assuming any correlation between elegant fonts and elegant code...
I appreciate the effort, the font looks solid, but I really don't understand the new trend of using italic in the code syntax. It seems like every trendy frontend engineer has their sublime text or vscode set up with a font that uses italic for imports, comments, etc and I really don't see the appeal.
From the OP's section titled "Why?" :

> When it comes to programming fonts, I prefer something strict, readable and relatively condensed for the code proper, complemented with a more informal, flowing and human style for things like comments and reserved keywords.

Also from FAQ :

> A programming font with cursive italics and ligatures is the worst idea in the world. This is absolutely horrible. BTW, I am really angry.

> [Answer:] Not really a question, but anyway: People actually like different things. And it's OK. It's OK if someone else prefers a different font for code than you do. We don't have to use the same one. ️

(though obv. parent post is not hostile like this Q)

Shouldn't it be called "A sophisticated programming font" then? :D
only if it is also "for humans".
Seems like the submission title was changed in the meantime?

When I made the comment it was "The sophisticated programming font".

> hostile

You probably have never heard a cursing Italian.

Which only moves the question back a step. Why, exactly, make reserved words, comments, tag attributes, etc., explicitly less readable than the rest of the painfully wispy text?

I find this font terrible on a readability basis to start with. The italics just double down on the hatred of eyes. I get a designer wanting to imitate a lot of currently popular san serif fonts (though not why they would make the font so skinny and less readable than those fonts), but coding fonts are meant to be comfortable and readable, not pretty.

Considering the author of this font pretty much made it for their own use, the answer to your question becomes: because that's their personal preference. No one needs to justify what font they prefer.

Then they decided to be nice and share it with the world for free.

Thank goodness the idea that something is free must automatically shut down any criticism hasn't taken over. We wouldn't have anything good.
Agreed, no one should be above criticism, even if free.
Not sure how you drew that conclusion. But asking "why <subjective aesthetic preference>?" is not going to get you anywhere. Someone made a font for their own use because they personally enjoy. They then shared it for free with anyone else who might also enjoy it. There are certain color combinations I prefer for text and background that other people probably hate. I couldn't tell you why I like them, though.

Readability can be generalized (tiny text is almost universally difficult to read) but it's also very much a personal thing in other ways. You can criticize one's preference all you want but it hardly seems productive. I get a lot of flak for preferring green apples to red apples, but no amount of convincing will change my mind.

>Which only moves the question back a step. Why, exactly, make reserved words, comments, tag attributes, etc., explicitly less readable than the rest of the painfully wispy text?

I have no insight into the author's mind, but I can only assume the answer is, "because they prefer it that way." Why else would they have taken the time to do so if it's for personal use?

Fashion is not supposed to make sense. That's why it's called fashion.

The only thing that matters is that it's different and criticized by "the others" that you think you are superior to (old programmers who use boring fonts)

You think the only reason people like aesthetics is to feel superior?
I guess it's just one more visual marker, perpendicular to e.g. colors so you get twice the possibilities.

Whether italic or bold or colors or anything, I find that too much visual marking is bloat, unecessary cognitive load which overemphasize syntax, detrimentally to flow — it's harder to gain more perspective when you're kept so 'in it'. Good typographic rules very much apply to code as well.

I personally think ~3 to 7 marking variations are usually enough to convey a general paradigm.

What's interesting to me is that if you use one of these fonts in an editor with Rust or another language they'll usually look quite like any other regular font without any fancy cursive or whatnot.

My assumption is that it's the editor's implementation, but I found it interesting that the use of these fonts (or at least, proper implementation thereof) seems to lean heavily towards Javascript.

Or am I missing something here?

(FWIW I'm a fan of italics for comments - here's what my setup looks like https://imgur.com/a/jTXHIo2)

well the italics of regular fonts are fine. it's the cursive thing that's excessive.
It’s something similar to syntax highlighting. We (or at least myself) doesn’t ‘read’ keywords to read code, it’s mostly syntax highlighting and the ‘shape’ of the code around the keyword, and the length of keyword. You really don’t need the exact characters to parse code in your head. The cursive characters give another visual distinction of the keywords.
The font includes both oblique (i.e. italic not cursive) and the cursive versions, so you don't have to use cursive if you prefer not to.

It's a very extensive and detailed piece of work.

Italics is fine, depending on how light the change is, but cursive definitely doesn’t work very well.
I don't really like syntax highlighting most of the time, because I have an astigmatism and bad eyesight that make colored text hard to read. However, I want to be able to easily distinguish commented-out code blocks. So I make comments italic.
They look cool. The productivity gain from keeping things outweighs any productivity loss from the italic text being hard to read. That's just me, of course.
So I was going to complain about calling their palmer-inspired face "italic" until I looked it up and the term "italic" has a completely different meaning for typefaces than it does for handwriting. TIL.
I've been using Consolas for over a decade. I just have one question, and that is, does the bold version of the font have the same width as the non-bold version.

This is a killer feature for me.

Devoting more than a couple of minutes to choosing an IDE font seems like the height of bikeshedding to me. Using cursive in your IDE just seems completely beyond reason...

I have no idea at all why this is becoming so trendy. Do people have so few problems to work on that this has become a reasonable use of their time?

As pointed out several times on a recent discussion, including responses to this question, programmers spend a lot of time staring at text. It’s not unreasonable to want to find a good typeface.

https://news.ycombinator.com/item?id=21303707

“I don’t see the reason” is rarely a good rationale for blaming those who do for being wastrels.

I’m not blaming anybody for anything, and I understand that some people enjoy endlessly tinkering with their setups. What I don’t understand is why this particular topic has become so popular recently (I’ve seen so many posts about it) for two reasons.

1) The difference between the best (according to your own taste) font your IDE offers off the shelf, and the best font you can find anywhere in existence seems marginal to me.

2) Optimising for readability and then introducing cursive to your IDE seems like two diometrically opposed ideas to me.

I’m not trying to be a Luddite or a hipster. Do what makes you happy. I just don’t get this trend and can’t help but think it’s a waste of time, especially if productivity is one of the supposed goals of this.

(comment deleted)
I suspect you've devoted more effort to these posts than most people here have to picking fonts.
Perhaps expressing a view that something is a waste of time is naturally a waste of time itself. That could be an interesting philosophical position to take, but I don’t think it contributes much to the discussion in this case. Perhaps I’m discussing the merits of the topic at hand to satisfy my own intellectual curiosity.
Interspersing aspersions against those who have different priorities is rarely a good way to “discuss the merits” of the topic at hand.

“Do people have so few problems to work on that this has become a reasonable use of their time?”

“completely beyond reason”

I don’t care a great deal about the topic, but it offends me when people with a passion for technical materials are disparaged for their interest.

I haven’t made a single ad hominem here. The opinions I expressed were directed exclusively at the topic being discussed.
Ad hominem, no. Disparaging the interest, yes.

It’s possible to explore a topic without the disparagement but you keep reverting to the “waste of time” theme, which doesn’t indicate an interest in learning or persuasion.

Ideas should be protected from criticism to avoid disparagement?...
No, but a discussion the merits of fonts they find interesting is not enriched by a troll who hides behind the fig leaf of “discussing the merits of the topic at hand to satisfy my own intellectual curiosity”.

You’re free to do as you wish, but HN discourages your hobby, and thus the downvotes. I just regret the time I’ve spent feeding it.

"Perhaps expressing a view that something is a waste of time is naturally a waste of time itself."

That might be, but that's not at all what I said. I noted that for all your talk of all the time spent picking fonts, you're spending more time on this than most coders actually spend looking at and picking between coding fonts. (Thst is, see a font mentioned, look at a sample of it, and make a quick decision whether it looks any better than what they're using - and that decision usually being that it isn't.)

To call your efforts a "waste of time" is pointedly your choice of phrase, not mine.

Spending some resources on making comfortable the thing you spend all day watching may pay off. A bad font breaks my concentration; a less legible font increases the chance of silly typos, etc.

Try working while sitting on a random piece of furniture, while using a keyboard from Sinclair Spectrum put on a random coffee table. Chances are your productivity will slightly decrease.

Same applies to every tool you use daily. Even a small difference in quality may play a major role.

I don't know how much customizing my desktop environment is bikeshedding, I just like for things to look nice.

Take some time to appreciate the aesthetic value in the little things, you will get more out of life.

It’s the amount of effort I see going into optimising for the best font I consider bikeshedding. It’s something you could devote unlimited time to for an unlimited amount of margin improvements.

> Take some time to appreciate the aesthetic value in the little things, you will get more out of life.

That’s a perfectly valid world view. A different and equally valid world view could be to not worry about small problems, and focus on things that give you the most satisfaction in life. I personally don’t care much about how my IDE looks, because writing (what I consider to be) good code is the bit I find most satisfying.

Your argument is it’s not worth spending time on? What would you rather I be doing?
“narcissistpotus“
Thanks for a great contribution. I really like the font - except for the italics. For comments I could may be learn to live with, but for the code syntax itself - no
> The typeface is clean, crisp and narrow

But italic is not clean at all, especially for non-native English readers.

I found a bug in the font rendering! Maybe just a bug in the way the website is rendering it on the try it page?

    => becomes a ⇒ (U+21d2)
but

    <= becomes ≤ (U+2264)
AFAICT there's no way to make a left arrow with double lines be only 2 chars wide, i.e. how do i make a ⇐ (U+21d0). A 3 char wide left arrow works though, e.g. :

    <== becomes ⟸ (U+27f8)
Like the font otherwise, there are some other interesting unicode conversions, e.g. :

    === becomes ≡ (U+2261)
This is not a bug; this is how other ligature fonts, notably Fira Code, work.

≤ is used way more often than ⇐.

Damn, I think I actually really like this!

I'm going to switch from Operator Mono after 3 or so years for the first time, for a month or so to see if I want to switch completely.

Thanks for contributing this! Really cool font.

Does anyone know how to use this with vs code? I am setting the edit font family to "Victor Mono" but it doesn't work. I can see the font and use it in my terminal so I know it's properly installed. I have even restarted vs code and no luck.
Why does the linked site require JavaScript and trackers to work? The site is completely inaccessible using Firefox Focus.
Loads fine with uBlock Origin, though, remains fast and eats next to no CPU.
I think it is not very good it won't work without the JavaScripts and trackers enabled. Fortunately if you access the repository you can still see and download the font even if JavaScript is not enabled.

However, I like to use the "Fixed" bitmap font.

Why is this better than Bitstream Vera Sans Mono, Consolas, SF Mono, Pragmata Pro, and Operator Mono? The reason can be anything, but what is the reason?

I don't find that this font outperforms any of those fonts on any of the metrics listed on the website (crispness, legibility). Is this, like, a subjective thing? Or do I have bad taste?

> Is this, like, a subjective thing?

Yes, “crispness” and especially “legibility” are subjective traits.

> Or do I have bad taste?

Taste is also subjective.

(1) Do you have an objective metric of legibility? Can you measure it without running a large study?

(2) Can you decide for yourself whether a particular font is better for you? Do you need an objective metric to persuade you?

(3) Did you encounter projects that people do to scratch their own itch? Were any of them occasionally useful for a wider audience?

I only ask because the website says

"because there just wasn't any free or paid font that I found both readable, effective and elegant"

and I can think of several, including the ones I listed.

I'm not saying not to do projects like this! Scratching your own itch and sharing your solution is great. I'm just skeptical, as someone who has obsessively tried just about every programming font out there, when I read that a new font does something better than the handful of fonts I always end up returning to. What is that something?

The website doesn't claim that the font does anything better, except that it is more readable, effective, and elegant, in the experience of the designer, Rune B.

If you really do know about several fonts that Rune B. finds more readable, effective, and elegant than this one, I would urge you to contact them.

"free" as in freedom, or just free as in $0? Anyone see a mention of copyright/license anywhere on there?
The repo says MIT: https://github.com/rubjo/victor-mono (although I'm not sure how/how well MIT works for fonts, so maybe worth an issue)
MIT is pretty much ‘everything is explicitly allowed’.
If you include the copyright info. So if I use your font in a PDF document, does that document need to have your copyright notice on it? Visibly, or only in metadata? Always, or only if the font (the "software") is explicitly embedded into the PDF? How about using it as webfont for the code samples on my blog?
(comment deleted)
I really like the overall design of the font. I'm not used to such thin letters, but it looks very clean.

Not sure if I'll get used to the cursive part, but it seems like this is purely in the text editor's control, and in my case text is only displayed in cursive when it's marked up that way in .org files(EDIT: it turns out it's easy to make Vim display comments as cursive, luckily without affecting keywords: "highlight Comment cterm=italic gui=italic").

In my opinion this is fantastic work for a free font.