Victor Mono Typeface
rubjo.github.io
rubjo.github.io
The x-height is so uncommonly high it makes it genuinely difficult to distinguish between uppercase/ascending and lowercase letters at a glance (e.g. 'U' vs 'u', or 'h' vs. 'n'), and similarly the descender is so tiny it makes it hard to distinguish certain letters at a glance (e.g. 'q' vs 'p'). The whole point of large-enough ascenders and descenders is to recognize the shapes of whole words before looking at their letters, which these dimensions destroy.
The extremely square aspect of rounded segments similarly makes them harder to distinguish from straight segments at a glance (e.g. 'U' vs 'O' are far more similar than you want for legibility).
Not to mention, italic cursive is particularly difficult to read. Handwritten-style cursive was never designed for legibility -- it was designed for speed in writing. Adopting it in a body-text typeface meant for reading adds work for the reader to decipher it.
I don't want to be so negative, but typeface design has certain principles that the creator is simply ignoring. They're not arbitrary or aesthetic, but rather are directly about functional legibility.
At the end of the day, this typeface goes out of its way to be surprisingly difficult to read. You can read it, but it simply takes more effort. Which is generally the last thing you want in a typeface for coding (or anything body text).
I guess the point is that it wasn’t first and foremost designed to follow as many font design principles as possible. If that’s what’s important to you, pick a font that follows as many of these principles as possible. :D
In the end, I guess I don’t really care whether I use 157ms to parse a sentence instead of 158 - although to me, the font is absolutely super-legible.
Can someone shed some light on who pays typeface designers and what are the incentives like?
The ligatures and the height you choose really don't go well with a lot of popular programming languages.
I'm not sure what aspect of programming do you believe is "inhumane" so you have desire to introduce "humanity" through design choice.
Some others have liked it, others have critized features of it, like the italics and the ligatures. (Features one can easily disable in most sane editors, I might add).
I’ve been using it daily ever since I made it, and I like to believe it makes me effective and happy.
No one should obviously pick a font which is hard to read for them of slows them down. This font doesn’t do that for me personally. If it does that for you, yes, you should probably pick a font where legibility has been the sole focus. (Dyslexia fonts for programming, maybe?)
Perhaps you should change the banner on the github page to reflect that. Currently, it says "the best programming font"; whereas your comment implies it is merely "the best font for rubjo".
Same goes for your Patreon page. When you take other people's money, you say:
>It means a lot to me that you choose to support me this way. With your contribution, I can cover some of the costs for the software and the time used designing the font. Issues / feature requests you might have will be prioritised when possible.
Obviously, it should say (quoting your comments here):
>Thanks for trying the font. In the end, I guess I don't really care. Issues / feature requests you might have... heh well actually I made the font for my own use. :D You should probably pick a font where legibility has been the sole focus.
>To me, the font is absolutely super-legible. If this font is hard to read for you or slows you down, yes, you should probably pick Dyslexia fonts.
Finally, saying that people who don't find your font legible should probably use fonts specifically designed for people with Dyslexia is just... ugh.
Especially coming from someone who writes phrases like these:
- font which is hard to read for them of slows them down
- others have critized features of it
In the end, it's not about the font. It's about how you respond to people who "critize" your work.
And "works for me, have you considered you're dyslexic?" is not a great response. You can do better, and I hope you will.
I shared it so anyone else who likes it also can use it. It works really well for me. A few others have told me the same. That’s more than enough for me. It’s great that you have found something else that works for you. Peace, man! :)
Why, I'm not "firing myself up" at all. To the contrary, it's rather calming to talk about fonts rather than wars.
> The web site banner and slogans are ehh lets say intentionally and super-obviously grand, if you get what I mean. (?)
So is your attitude towards feedback, if you get what I mean. (?)
>I shared it so anyone else who likes it also can use it. It works really well for me. A few others have told me the same. That’s more than enough for me.
The fact that you have donation links, a Patreon page, and a merch store[1] indicates otherwise.
Clearly, "a few people telling you it works for them" wasn't enough; you'd also like people to give you money and buy your merch so that you could make a living doing this.
From your Patreon:
>If everyone who visited the font home page and downloaded the font had contributed like you do, I could have developed Victor Mono and other fonts as a full-time job.
So... yeah.
>It’s great that you have found something else that works for you
How would you know that?
>Peace, man! :)
¯\_(ツ)_/¯
Screenshot: https://dsc.cloud/cfce57/Screenshot-2023-11-19-at-9.31.58-PM...
>Thanks for trying the font and having lots of thoughts about it [...] In the end, I guess I don’t really care
Going out of one's way to tell to a person that wasn't talking to you in the first place to say that you don't care about what they said.
>Especially when the opinions are simply, "Your entire set of principles are wrong, and this is aggressively bad."
You may notice that the criticism is written in several well-structured and reasoned paragraphs, and not that one line. Perhaps your summary doesn't reflect what was said.
>Thanks for trying the font and having lots of thoughts. You're right that it doesn't follow all of the guidelines to maximize readability! There are other fonts that do that but mine does not. That's not what I'm interested in and it doesn't bother me - I find it to be perfectly readable.
I think an important part of maturing as a developer (and a human) is understanding that guidelines are always about maximizing certain qualities of something and that it's generally ok to choose not to focus on those things. Unless your customers are a captive population of some sort, generally we can all make whatever thing we want and let people who like it pick it up.
Your rewriting of the comment says exactly the same thing it did before. My assessment of it remains the same.
I think an important part of maturing as a developer (and a human) is realizing that it's better to say nothing at all than to write "it works for me, use something else if you don't like it" in response to criticism of work that you:
1. Publish online for public use;
2. Describe as "the best font for programming";
3. Set up a Patreon page to collect money for.
Note that the criticism was not addressed to the designer in the first place. The designer went out of their way to find and dismiss criticism with a non-informative "I guess I just don't care".
The critic explained why they strongly feel that e.g. curisve italics aren't a good feature for a programming font (moreso described as "the best" one). The designer added no context or insight into why they think differently other than "I don't care", which is, frankly, offputing.
It is also disingenuous to sum up the criticism as "does not follow all guidelines for readability". The criticism wasn't about following guidelines; it was about the font being hard to read.
Imagine a teacher telling a student their handwriting isn't legible, and the student responding with "I guess I don't care, following all the guidelines wasn't the goal in producing this work, and I myself can read this perfectly fine". We are not that far from this scenario here.
It seems really important to clarify what you will and won't do in your projects. Setting aside the tone of the response - are you saying that people should respond to critique only with silence or agreement? Many open source projects could expand functionality in one direction or another and the fact that the team is not interested in particular directions is often valuable information.
>Imagine a teacher telling a student their handwriting isn't legible, and the student responding with "I guess I don't care, following all the guidelines wasn't the goal in producing this work, and I myself can read this perfectly fine".
I think this a great example to expand on because...it obviously depends! If you are turning in an essay and your teacher can't read it - you are going to get a zero. The font just needs to transmit the content and if it fails at that it's no good. But then you did not "[follow] all the guidelines" in producing the work because legibility was required.
On the other hand, unless the student is lying, then whatever they are producing text for doesn't need to be legible. They are free to make whatever text best serves their goals. Getting the feedback that it's not legible is important - but if legibility isn't a requirement then it's up to the author to decide how to use that note.
For me, the question is one of the venue of the "work": Who will be forced to deal with it? In this case the answer seems clearly to be: "no one." We are all free (or not) to use this font. It is not being used to make signage or publish books (and if it was it would be the responsibility of the authors of those works). The author has no responsibility to live up to any particular guidelines because they're doing what they please (and presenting it as such). People are allowed to think anything is "best" for anything! I might think Comic Sans is the best font for programming (though I imagine few people would agree).
I will also say that this example differs in that the complaint was not illegibility. crazygringo said "You can read it, but it simply takes more effort."
Sure, but that's not what the designer did. Their comment didn't mention one specific change that they are (or aren't) going to implement.
"Nah, everything's fine, works for me" doesn't clarify anything about the font - just about the designer.
>Setting aside the tone of the response
Aside from the main issue I have with the communication, ....
>- are you saying that people should respond to critique only with silence or agreement?
No.
What I say is that a response to constructive, grounded criticism should be reciprocal. If you're already making an effort to object to grounded criticism, make a grounded objection.
The objection the deisgner made was little more than "works for me, like it or leave it". There is zero value in that.
>Many open source projects could expand functionality in one direction or another and the fact that the team is not interested in particular directions is often valuable information.
Arugably, it is useful to know that the caretaker of the project is not giving any consideration to feedback. But that's not something I can commend.
"This font isn't going to follow all readability guidelines" doesn't actually communicate any information. You can't say what's on the roadmap for the font, other than it will be whatever the designer likes.
> For me, the question is one of the venue of the "work": Who will be forced to deal with it? In this case the answer seems clearly to be: "no one."
We are. The github page for that font is written entirely in that font.
I feel it's disengenous to say that you can't criticize a font because the only person that is "forced" to see it is the person that picks it for use, and otherwise, it's the responsibility of that person.
By that logic, all fonts are above critcism!
>If you are turning in an essay and your teacher can't read it - you are going to get a zero
The work (the font and its description, written in that font) has been presented to us for grading, and it was graded accordingly.
>I will also say that this example differs in that the complaint was not illegibility. crazygringo said "You can read it, but it simply takes more effort."
According to [1], the property of being hard to read makes text illegible.
The point at which the text becomes illegible rather than simply "taking more effort to read" is subjective, I am not going to die on that hill.
Even today it's one of my recommendations for anyone looking for a coding/monospace font.
Fwiw I like the font and I'm looking forward to trying it out!
Really, programming fonts are down to taste -- there's not objectively a best one; for an example of that, look in this thread: some people like Victor Mono, whilst others dislike it, and that's fine!
+1 for Inconsolata, by the way, lovely font!
Although I’m using Iosevka now, Victor Mono was reliable work horse for me for very long time.
I found that font through coding font tournament style selector (codingfont.com).
I may miss some, but my history was Courier New - Consolas - Dejavu Sans Mono - Anonymous Pro - Azeret Mono - Fira Code - Victor Mono - Iosevka - Iosevka Slab, and if I will decide to go back, Victor Mono is going to be first choice
Having a typewriter-like font whose italics version looks like handwritten cursive breaks this expectation. If it was meant for code comments, the solution is to configure the IDE to use a different font and not to hack the format.
Victor Mono is two fonts in a trenchcoat for no good reason.
The cursive thing isn't my cup of tea, but there are oblique versions too.
Overall I think this font has a lot of character. Kudos to the designer, nice work!
Emacs’s ligatures.el handles this nicely: you configure which specific ligatures you want to enable on a per-font basis. Want only -> and only in Berkeley Mono? Only turn that one on.
When pairing with people who use them, I find it harder to read, which is ok as long as variable names differ enough but it makes it really hard to distinguish == vs ===, and => vs -> etc...
I don't see what these kinds of comments add. You see them in every discussion on a font that has them.
> I don't see what these kinds of comments add.
I think you've missed something from those comments.
Scenario: You're looking at a screenshot of someone else's code (from documentation, blog post, video, etc...). You see a ligature you're not familiar with. Now you cannot follow the rest of the information.
Question: What do you do?
Of course plenty of people far more experienced than me use them; they still look like clowns though.
I've always found the cursive to be a little jarring, since the cursive characters usually look so different from the normal ones, and switching between cursive and normal styles makes it slower for me to visually parse a section of code. I always thought that was an odd choice given that many folks seem to highly value legibility and immediate character recognition when they pick a monospace font.
I think we place a bit too much weight on how much font matter, but then again, I couldn't find one I liked, so I made my own, so who knows.
Are you expecting us to believe you when you had to create your own font?
http://luc.devroye.org/fonts-44934.html
It was a bit of a "novelty" font for typewriters. Almost like the Comic Sans of its day. It wasn't meant to be used as italics, it was for typing a fun invitation or more "personal" letter or something like that.
I can't find any information on it specifically though, whether it was the first. It wouldn't surprise me if it were, however.
I also like the play on Hamburgevons [1] for the examples--one of them is OldButSanePotus.
Considering what the world has come to, I'm not at all surprised that a font needs javascript.
I'd don't know if it's that I genuinely prefer that font, or just that I've spent so long looking at it my brain can't handle anything else.
It's unironically is the superior programming font if you have dyslexia. Makes an enormous difference in my reading speed.
If your editor or terminal has the option, increasing the tracking/space between letters in any sans-serif font can help with letter-flipping issues.
Disclaimer: I'm both mildly dyslexic and a more severe letter-flipper/mirror-writer (visual processing issues)[2] since childhood
1: https://www.boia.org/blog/does-comic-sans-benefit-people-wit...
2: https://www.understood.org/en/articles/faqs-about-reversing-...
Playing with the spacing of another font doesn't seem to have a similar effect.
Although I'm open to the fact that there's probably a whole spectrum of different processing disorders that fly under the banner of dyslexia, so mileage may definitely vary.
The side-by-side comparison tool with different fonts is AMAZING. Major props to the designer. Every font site should do that. I loved immediately comparing the font vs my current font _in browser_, without downloading any files.
Yeah, I know it’s a bit compressed, that’s the way I prefer it though.
I like the squareish appearance too. Also the lines feel like they could have been drawn with a pencil or engraving tool, which looks cool to me.
Thanks for the font. It's been one of my favorites lately.
It's pointless to have a demo if I can't check how the font would look like on a desktop computer.
Edit: Oh, now I get it. It's upscaled the larger the browser window size is. I understand this from an adaptive design perspective but I don't think it's optimal in this case. It becomes huge if you sit with a 27" monitor, which is a rather normal monitor size for programming.
* proportional
* sans
* has programming ligatures
* clearly differentiates 1l and 0O
The closest I’ve come was iosevka. But it was not quite proportional and I wasn’t font of its looks.
Context: https://ia.net/topics/in-search-of-the-perfect-writing-font
Also a big fan of condensed mono fonts
Oreilly used to use "The Sans Mono Condensed" which is amazing.
Other favorites of mine: PragmataPro (paid), Iosevka Comfy Fixed , M Plus 50 (free).
Anyone has other recommendation for good condensed fonts ? (Especially Serif / Sans)
No wait, it's called "Liberation Mono". But it's still a great font for coding.
I generally do quite fine with my Compose Key configuration, though (even on Windows, where I use WinCompose). [3]
[1]: https://docs.julialang.org/en/v1/manual/unicode-input/
So this thing is free of the two most-common mistakes in font design.
Different people care about different things. Why should we judge what people care about?
Because fonts have become fetishized, and in my opinion, it’s weird.
I'd like to; there are many ambiguities with that font.
But this Victor Mono is not the one for me.
going to give this a try!
With centuries of use cases, we crafted an alphabet that abstracted phonemes, one per symbol, in a carefully isolated, unambiguous and successful way. Ligatures come and with a stroke of design creativity inject ambiguity and de-standardisation where those problems were previously carefully solved.
How I approach "reviewing" monospace fonts is whether I would immediately or eventually change them if they came as default. Monospace fonts that come with default KDE for instance are passable and I'll change them eventually.
If this font was default to anywhere I'd change it immediately.
Using an explicit "human style" for comments implies that the code belongs to the "machine"? Humans wrote everything. The italics font is useless for programming. If I compare it to any standard fonts in the box below on site I can notice A) higher glyphs B) cartoony comments. And that's it.
I guess I am in the abstract, but... no, I guess I'm more "bewildered" by new typefaces. Especially mono fonts targetted at source code display.
I mean, this world just doesn't have elaborate requirements. And it was solved, like, dead-on-done-to-perfection with the open source release of Bitstream Vera two decades ago. I haven't wanted a new font since. Frankly I can barely tell the difference between most of them (not this one though -- yikes, that cursive thing is weird). I mean, why?
Why not spend your font design hours making something for general text that people might notice. Hackers are poor discriminators and frankly very well served already.