Hacker News new | past | comments | ask | show | jobs | submit login
MonoLisa – A font designed for developers (monolisa.dev)
402 points by qubitcoder on Feb 14, 2022 | hide | past | favorite | 285 comments



Unfortunately not available to compare on https://www.programmingfonts.org/

While I'm here: Victor Mono has been my programming font of choice for a while now: https://rubjo.github.io/victor-mono/

Oh, look at that, the Victor Mono homepage has a font comparison slider that allows you to compare it to MonoLisa! MonoLisa advertises that it's wider than other monospace fonts, and you can really see that in the comparison. One of the things I appreciate about Victor Mono is that it is narrower than many other monospace fonts (while still being very readable), allowing you to fit more code side-by-side.


I don't know why anyone would even bother to even go beyond the first item on the list. Such beauty, such elegant geometry, such timeless classic lines. Truly an elegant font for a more civilized time.

https://www.programmingfonts.org/#font3270

BTW, I'm also a huge fan of Luxi Mono, but I edit it and add a dot in the middle of the zero to make it different from the O. I like it because it reminds me a bit of the Sun console font (which I always forget the name). I could also go with Go Mono, which is mostly the same, but has a slashed zero.

edit: if you hate my font, just don't use it. You don't have to downvote this. ;-)


I hate your font, but upvoted you to celebrate the diversity of human perception. :-D

I think it is wild that so many of us have these very strong, yet radically different, opinions.


Don't get people started on vim and Emacs...


Your font is cool, ignore the downvotes. It reminds me a bit of the default console font on OpenBSD, Spleen [1].

[1] https://www.cambus.net/spleen-monospaced-bitmap-fonts/


I really don't like it, but thanks for sharing it anyway (and creating it in the first place I guess).


It's a good font for those that think that the world and computer technology peaked in 1971. I don't share that opinion.


I don't think it necessarily peaked, but the IBM PC represents an inflection point - it was built on top of the office equipment more cozy aesthetics rather than the computer division's cleaner and minimalistic visual identity. The PC has a George Gershwin vibe while the terminals such as the 3278 have a definite Emerson, Lake and Palmer techo-utopia thing to it.


Same about Luxi Mono. I have also added a dot. I used to program in old redhat linux with crt monitor. And at that time, it used to be the default font for terminals.


I'm a huge fan of that font, it looks great and there's a Nerd Font version of it available.


I don’t understand why none of these lists ever include my favourite font: PragmataPro.


I have to say I was quite surprised to find my font in there too.


Thanks for the victor mono recommendation. It looks really good! I was blown away by how narrow it was compared to other forms in the comparison tool.

Side note: it's a bummer that you never see Monaco on these comparison tools. Monaco has been my monospace font of choice for many years now despite never owning a Macbook: https://github.com/cseelus/monego


I, too, have a very strong preference for Monaco. I always wondered whether the font is indeed as great as I think it is, or whether I just like it so much, because I had already used it for 5-10 years before I ever consciously looked at other monospaced fonts. It's great to hear that you intentionally chose it without having already been adapted to it.


Oh, this was a new one for me.

In case you like narrow but Victor’s not your thing, I can enthusiastically point you towards Iosevka. (That’s also available in Victor’s comparison picker. Nice!)


I love both Iosevka and Victor Mono, but ended using Victor Mono because it has script version for italics.


Does Victor Mono have nerd font support? Bc Iosevka does


  $ brew tap-info "homebrew/cask-fonts" --json | jq -r '.[].cask_tokens[]' | rg victor
  homebrew/cask-fonts/font-victor-mono-nerd-font
  homebrew/cask-fonts/font-victor-mono


That's exactly the thing I hate about it. Base font is good, but god, the script!


Just add it there! It's on github

https://github.com/braver/programmingfonts

edit: ahhh it's a paid font.

so nope


IMHO Airbus' effort is better. https://github.com/polarsys/b612

Serifs are known to be less readable on screens. Each to their own but to me that MonoLisa thing is sort of half-serif... it's ... inconsistent and terrible. Possibly a joke.


On low resolution screens, yes. If you have a 2k or better monitor I would encourage you to test this out again. I have found that serifs are now actually easier to read than non, for the same reasons they are easier to read on paper.


An interesting perspective with which I respectfully disagree. I have high dpi displays (who doesn't?) but prefer sans. I think it's near-universal these days. Everyone is using them for logos too. There's a reason: legibility, everywhere, including for non-native readers. In a global world, one must prioritize clarity. See https://design.tutsplus.com/articles/the-rise-of-the-sans-se... and https://developer.apple.com/fonts/


I read the links. I don't believe that brand designers are optimizing for legibility, unless there's some real study showing sans is easier to read body text with. Designers just follow trends that have nothing to do with user experiences. People switching logos to sans are the same types of people coming up with "Metamates"; just people chasing corporate dogmas.

Some data: https://www.gwern.net/AB-testing#fonts


That gwern page is mostly rambling IMHO. Yes, there is a documented association between serifs and trust, but it is weak and mostly tested in print IIRC. I think you may be throwing the baby (real and objective improvement) out with the bathwater (fads) in the design world. There is substance there. I suggest https://watchdocumentaries.com/helvetica/


Victor mono is definitely not my thing, but thanks for pointing it out. I am quite fickle with typefaces so maybe one day this one will be the one I use for a few months.


That's a lovely site!

My own favorite programming fonts of choice at the time are either Liberation Mono (https://www.programmingfonts.org/#liberation) or Cousine (https://www.programmingfonts.org/#cousine) the latter of which builds upon the former.

They're delightfully boring, are readable at smaller sizes, have a good Unicode support, don't seem to have ligatures so i don't have to bother disabling them (personal preference) and are completely free. Plus they can be used to work with code that has large information density (think legacy Java apps) without causing strain on my eyes due to their simple look.


> While I'm here: Victor Mono has been my programming font of choice for a while now: https://rubjo.github.io/victor-mono/

This is an aside but it makes it really difficult to me to enjoy when the site requires javascript to show me a typeface.


Thanks. A bit narrow for my tastes but I'm impressed by the semi-cursive italic idea. Clever. Giving it a try right now!


Zeitung Mono Pro for me, rarely mentioned anywhere https://www.underware.nl/fonts/zeitung_mono/buy


Very nice, but it's probably rarely mentioned because the whole family costs $284 USD.


Another site for comparing fonts is the excellent https://devfonts.gafi.dev/. This also doesn't have MonoLisa, though.


Have been using Victor Mono for a year now, that Victor Mono demo on programmingfonts.org definitely does not look like what I'm used to. Looks like the medium weighted Victor Mono.


ooooo thanks for the recommendation. MonoLisa is pretty, but not $70 pretty. Especially when this is just as good (maybe better?) and I can just toss the author whatever I want.


Agree, I bought some merch from the author as thanks :)


I like it except for the ligatures with the < and /'s. Thanks for the recommendation, it encouraged me to revisit my font choices.


Thanks for the resource, that's a cool site!


...so was anyone going to tell me that that site existed or was I supposed to find out myself?

This is actually awesome, thank you for sharing!


Thank you, this one actually helps me read quite a bit.


Please stop it with the "coding ligatures" already. They are not helpful and only serve to obscure the code being written.

This has got to be one of my least favourite trends in programming aesthetics these days. For a font claiming to "follow function" to devote so much effort to sacrificing function for the _vogue du jour_ is especially rich.


Please stop it with the diatribes about ligatures.

If you don't like them, don't use them. It's that simple.

Other people do like them, and will continue to use and enjoy them.


Serious (if goofy:) ) question: How do I not use them?

My understanding is that if the font has ligatures then the way to not use them is to use a different font (which is fine - there's a lot of fonts out there :) ).

Is that the only way, or is there a way to disable ligatures but keep the rest of the font? Can you disable only some of the ligatures?

TIA!


Literally every IDE that I used has checkbox to disable ligatures. Idea, VS, VSCode. Kitty terminal also has setting to turn them on/off.


Ligature is a optional feature, first the editor need to support them, but I guess most editors nowadays already support that. JetBrains IDEs come with JetBrains mono and with ligatures enabled, last time I used VScode I had to enable manually for my new font.


Some fonts also just have different variants with and without ligatures, for example Cascadia Code/Mono: https://github.com/microsoft/cascadia-code


In JetBrain products: Preferences -> Editor -> Font -> Enable ligatures

So you can turn them off even in fonts that have them, but most fonts have separate versions with and without anyway.


For VS Code see (1) and to selectively disable them (2).

For Atom see (3).

There does not appear to be a way to disable them in Visual Studio.

(1) https://stacksjar.com/post/use-of-font-ligatures-in-vs-code

(2) https://marketplace.visualstudio.com/items?itemName=Coenraad...

(3) https://github.com/tonsky/FiraCode/issues/633


Ooh the selectively disabled extension is really cool! Thanks!

I sometimes—rarely happens thought—dislike how the cursor renders on top of ligatures in vscode. Always wished it would allow me to "inject" the cursor into the ligature, but since it didn't happen often or bother me as much, I never tried looking for a solution. This will be a small, but much appreciated quality of life improvement! Thanks again!


> Is that the only way, or is there a way to disable ligatures but keep the rest of the font?

It's actually not that easy to use them with for example Emacs where you have to list every combination that you want to 'translate' to a ligature:

https://github.com/mickeynp/ligature.el


how to not use them is editor dependent.

but you absolutely don't have to use them.

regular fonts are basically "use this image for 'a', this image for 'e'" etc. ligatures are extra data that says "if you find an 'a' next to an 'e', use this other image in place of the 'a' and 'e' images". but the non-ligature versions of characters are still in the font for use when there is no ligature sequence (just put a space in the middle of any ligature in your editor and you'll still see the independent characters rendered in the font).


I like some like ff, but </ is too far.


<opinion>They are not helpful and only serve to obscure...</opinion>

Personally -- after originally thinking like you -- I really enjoy ligatures in my code. I disable them for my terminal though.

The same font can work both with and without ligatures, so it's not a negative if a font supports them. You can choose whether to enable them.


I mean... The existence of ligatures is almost by definition strictly aesthetic. And on that measure, it either brings you a smile to notice that f and i, for example, are joined; or you didn't even notice it.

That is, I won't claim they help readability. But they do make me smile, and don't seem to hurt. (I'm assuming they disappear on copy operations. Mac OS' habit of replacing -- with a longer dash is painful when sending cli arguments.)


There's a third option: "What is that?"

When I'm reading fiction, I generally don't mind ligatures. I find them oppressively obscurantist in any situation where I want to know clearly and distinctly what each character is -- i.e. code and science/math/engineering.


I'd wager that the vast majority of the time, you just don't notice them.

About the only time they are easily visible is in large type, when they really shouldn't be used.

It's kind of like right justified text. Done well, it shouldn't be noticed how it was done.


Please don't tell me what I do and don't see when I just told you what I see and how I feel about it.


Not sure why you are taking offense in that. I wrote that they make me smile. Despite that, I'd also wager that the vast majority of the time, I don't notice them.


Optional part of free thing upsets HN, more at 11


This is actually 100$+.


For this font, but there are several other dev fonts with ligatures.


Just for the record: completely disagree with you, and will never again in my career use a coding font that doesn't support ligatures.

So, YMMV.


Lucky for you, you can disable ligatures or not use a font that you don't like.


How about whoever wants them to enable them?


You are taking this backwards.

- there are more fonts without ligatures than there are fonts with ligatures. - every single OS I can think of include by default a monospace font that do not support ligatures. - there are still a huge amount of terminals which do not support them. - for almost any font that has ligature there is a variant without ligature - there is virtually no way to end up with ligatures without actively looking to get ligatures. - any terminal/editor that supports ligature has a setting for that. - most people do actually like ligatures which is the reason they use those editors/terminal/fonts and want those activated by default.


That's up to your editor, the font doesn't get to choose what the default is.


You are missing the point.

Presence of ligatures in a "font designed for developers" is neither a plus nor a selling point. It is a pointless embellishment that shows that fonts' authors don't grok the character-oriented nature of computer languages. So them parading ligatures as something desirable only serves to detract from the rest of the font design and to nick their credibility as coding font designers.


> It is a pointless embellishment

That's like your opinion man.

> So them parading ligatures as something desirable

Others desire them, so they include them. I thank that.

> shows that fonts' authors don't grok the character-oriented nature of computer languages

Nonsense, just an empty insult. I don't think you grok ligatures.

> only serves to detract from the rest of the font design

Your opinion, I believe it enhances the font design.

> to nick their credibility as coding font designers

Another empty insult. Including a feature that people like doesn't hurt their credibility.

See also:

https://www.dictionary.com/browse/subjective

https://www.dictionary.com/browse/opinion

https://www.dictionary.com/browse/aesthetic


> fonts' authors don't grok the character-oriented nature of computer languages.

Hogwash. They provided all the characters (which ligatures are also, but you seem bizarrely "against" but "for" the ASCII ones), and ligature-less versions as well. So they grok it at least that far.


For what it's worth I also have ligatures disabled but I do think it's fair for fonts to include them, particularly because it makes the fonts more versatile in settings where you want them.

In particular when doing presentations having fonts that are capable of producing ligatures in monospace contexts is quite useful.


I would concede your point if these folks were trying to sell you a used car.

You don't need to take their word or rely on their credibility for anything. There's a demo right there of the font for you to decide if it's for you or not.


I wonder if there’s a correlation between enthusiasm for ligatures and programming styles or languages.

I want to learn Julia in part because it makes use of “fancy” chatacters (so your math looks like math). I like the more functional JS style, and I’m interested in haskell. And I love ligatures. Anedata of one.

Are you more a C-family person, or an ML-family person?


Why?

I love them ligatures. I'm looking at this code for lots of hours every day. Let me enjoy it via a nice font — with ligatures — if I deem so.


You can simply disable them.


I kind of agree with you, but I see them authors as avant-garde. Let them be and perhaps something new or an improvement will come out of it for the rest of us.


I mean ultimately, all characters are "ligatures", in the sense they are arbitrary squiggles to which we apply meaning.

You seem to have done it well enough with at least 64 of them; maybe closer to 70 since you use _, ., , and ".

Don't let a few more ruin your day. A few more, I might add, that you don't even have to use.


A ligature is more functional than not using one. They obscure the code for about 5 seconds the first time you see them, and then never again. After those 5 seconds, you register a new semantic symbol in the brain. It is objectively easier for your brain to parse a single arrow symbol than it is to parse => in a monospace font. For the latter, you are scanning two symbols and only after seeing them both can your brain put them together into a semantic meaning. This is strictly worse than just seeing an arrow symbol and understanding it is an arrow.


> It is objectively easier for your brain to parse a single arrow symbol than it is to parse => in a monospace font. For the latter, you are scanning two symbols and only after seeing them both can your brain put them together into a semantic meaning.

Brain is really good in parallel processing of letters/symbols as units. I very much doubt that it's "objectively better". See https://docs.microsoft.com/en-us/typography/develop/word-rec... for overview of the research in this area.

For me the problem with ligatures is not so much of recognizing them but reproducing. I know that for arrow ligature I have to have = and >, but there may be ligatures that I might not be sure of how they're formed. Also, when reading the same code in different environment where the same font is not available I get different visual output where not only is the base shape of the letters different but code units as well. For example three lined equals ligature that some fonts produce. I really hate it.


If your programming language wants to use an ⇒ symbol there's a perfectly good codepoint for that already. I don't want complexity to be hiding in my font where I would never even think to look for it. (For example imagine searching the documentation to understand a use of ⇒ and finding it doesn't exist in your programming language)


My programming language doesn't want to use it; I do. If you would "never even think" to realize that ⇒ in your editor is actually =>, after having installed a programming ligature font where that is always advertised, that's on you. And any developer should already be well aware that no common language uses symbols beyond ASCII, so seeing ⇒ should be clear enough already that it's a ligature. I really think this 'confusion' argument is made up and has never actually occurred for more than 5 seconds.

Semantically, the language would like to use a ⇒, because it's representing the idea of an arrow. It's only due to keyboard constraints that it has use use =>. Parsers (and our brain is also a parser) would be much easier to implement if meaning didn't have to derive from symbol combinations like =>, !==, <!--. The input interface is limited to ascii to represent meaning, but our eyes don't need to be.


> If you would "never even think" to realize that ⇒ in your editor is actually =>, after having installed a programming ligature font where that is always advertised, that's on you.

Sounds like we agree that a font that does this should never be a default. I don't think customized environments to the extent that one developer sees a different view of the code from another are a good idea (partly because I think reviewing and pair-programming are very valuable), but I guess if you want to set up something like that it's fine as long as you're not pushing it on anyone else.

> And any developer should already be well aware that no common language uses symbols beyond ASCII, so seeing ⇒ should be clear enough already that it's a ligature.

I've been using ⇒ in Scala for over a decade, shrug.


I agree it should not be a default. I think much like using the keyboard to navigate the IDE, it's something you can do that brings a benefit once you're familiar with the basics. I don't think vim should be the default terminal editor for the same reason, but I still think vim is worthwhile to use.


> no common language uses symbols beyond ASCII,

Ruby and scala allow using such characters, and there are libraries that use it. Julia actually has special characters in the standard library, although afaik they all have ascii aliases. The repl and many editor plugins support expanding tex style escapes to those special characters.


I use Fira code, and the ligatures for >=, <=, !=, ==, and -> make it so much faster and easier to identify the symbols.

I wouldn’t know where to get the “⇒” codepoint, and getting is probably more effort than just writing “==>” with the added benefit of my teammates not having to use the ligature (or figure out the symbol) if they don’t want to either.


If this wasn't a discussion about monospace fonts, I might be inclined to agree with you. However, I kinda agree with the detractors here; ligatures objectively defeat the purpose of equally-spaced characters. The purpose of monospace fonts is to provide definitive clarity where sans and serif fonts fail to do so. In the world of programming, maintaining that consistency is essential. Having one symbol span several spaces undermines that clarity, you may as well be reading your code with Helvetica at that point. I understand that programming is a career path filled with creature comforts and obscure little things that make you happy; I even enjoy the warp cursor (gasp!) in VS Code, which definitely doesn't contribute to clarity. Let's stop treating ligatures like a direct upgrade over normally printed monospace, though. It's an option, one that shouldn't come enabled by default but one that should be available for people who want them for whatever reason.


Monospace fonts are used mainly because vertical alignment is desirable, and because characters such as ! and . are too narrow to easily read in proportional fonts. Monospace, then, improves clarity. Turning a => into a ⇒ does not affect the vertical alignment nor make anything too narrow to read. It just turns a combination of symbols into its semantic meaning. It allows you to parse a meaningful glyph rather than using a hacky workaround to represent meaning via ascii. This is also the point of emojis: (-_-) is fine, but most people find <expressionless face emoji> to be more clear as to the meaning. Nobody is getting confused about what these ligatures mean. They installed the fonts and selected the fonts in their IDE; they have already been coding; they are not going to see ⇒ where a => used to be and have a brain meltdown.


Is ligature rendering context-sensitive? If I put => in a string literal in JavaScript/TypeScript and the IDE "helpfully" decides to apply ligature to it, I'm gonna go insane.


I am the only one who finds fonts a bit expensive for personal use? It is not a rant, I am not saying it isn't worth it, that font designers can't make money, etc... But that puts it on the same level as tools like Sublime Text or Beyond Compare. For me, it is enough of a turn off not to use a commercial font, especially considering that the free offering is quite good.

I totally understand the higher price for commercial use, here, it is cheap compared to the costs of hiring a designer, and it may have a real impact on your sales and ultimately earn you money.

But why is the price for personal use around $60? Is it some kind of a sweet spot because most people won't buy fonts anyways, even for $1, but those who do expect to pay that kind of money. Does it account for piracy, which I guess is easy and goes unnoticed if you only use it personally?


Selling font direct to consumers is extremely bad business model. This doesn’t work. People are not keen on shelling out 100s of dollars when IDEs already come with decent fonts and other thousands of free fonts readily available. This font looks great but most people would argue about marginal benefit. I would hope they would partner with IDE makers and big tech and give them license to use it for their expected revenue instead.


I also think creators of this font likely have not performed any market testing or studied price-revenue curves. I might take a bet that $5 flat price would produce higher revenues. Another option for them is to bundle many such fonts by forming group with other creators together. That has higher chance of selling a professional fonts as package to IDE makers and big tech.


Sorry, but no IDE comes with a proper 3278-like font. Not even IBM's Developer for z/OS comes with one (they commissioned that other font called Plex... who would take seriously a font named after a media player?).

Luckily, everyone can get one at https://github.com/rbanffy/3270font.

Note: shameless plug ;-)


That is delightful. I remember using 3270's back in "the lab" in high school ("alt-pf2" twice to compile!), and marveling at the individual phosphors on the screen. (When I could see better, for sure.)


Sadly, it doesn’t turn the keyboard into a beam spring one…


That's another expensive hobby to get into


I can make it sound like a Selectric, at least:

https://github.com/rbanffy/selectric-mode


I have an aftermarket buckling spring KB. Well, my wife "has" it, and I will never, ever get it back.


A while back, I wanted to try MonoLisa out for a bit before spending all of the money on it. I ended up finding the .zip on a shady website after some creative searching and used it for about a month.

I tried to switch back to another font and found that I was actually really enjoying MonoLisa... I ended up just spending the money since I felt a bit guilty staring at it for 8+ hours a day without paying the creators. Now, installing it is one of my first steps when setting up a new environment.


They already have a value added tiered price model. They just need to add a free tier.


Wow, the pricing changes my perspective quite a bit. I wouldn't have even considered paying $5 for a font. Think it's just one of those things I'm used to not having to pay for.

I guess if you find the current free offerings problematic then $55 is nothing for prolonged comfort if it does what it says on the tin.

For me i've always found the default in VSC on OSX to be really nice.

Tried ligatures once but it just became confusing tbh


Yeah, unfortunately I can't really see a viable use case for professional (i.e. paid for) fonts for personal use. Like you, I understand that font designers need to make money, but there's just not $60+ of value in a font for me, particularly one where my reaction is "oh, this seems like it might be marginally better than my current font, maybe I'll check it out".

It's just barely hitting the potential value where I'm willing to hit the download button, tacking on another $60 on top of that is just a complete non-starter for me. And trying to make money by shame (i.e. font makers deserve money) doesn't seem like it's viable long-term.


Same here. I liked it and wanted to buy it, but I didn't want to give €55. If it was 30 or 28.XX something, I will be using it already.

It is nothing rational, just a buyer's reaction to a product and its price.


I guess maybe because developers are the target audience and they happen to make a lot of money?


But then developers also know how to use devtools in their browser.


There you have another reason: the pricing needs to account for those who prefer paying with devtools coupons.


Does DRM exist for typefaces?


The shapes of a font cannot be copyrighted, trademarked or patented. The name can be trademarked. The code itself for the font is copyrighted.


Careful what you say about copyright. While this might be true (up to some degree) in the USA & Japan, it’s definitely not true in many other countries (e.g. Germany, France, Russia & the UK).

In the US it might also be possible to protect a font design with a design patent, so even there you should be careful about assuming it’s safe to copy a font’s design…


Is this enforced to any realistic degree? For example, is something like Arial, which is a clear derivative of Helvetica permitted?


No, you aren't. I sympathize with them. Its a lot of work to create, and they should get their money's worth. But it takes time for me to decide whether I really like a font, and I'm not going to pay $60 for the chance to figure that out. I wouldn't pay $6 either, though I might if I had more money to spend care-freely.

Would be wonderful if they could charge 1/x cents per character used up until some fixed price point. but what an intrusive business model that would be.


The font is used on the web page itself. You can trivially yoink it out of there and install it on your system if you really like it. I doubt anyone ever pays for fonts for personal use.


If you're willing to spend money on a font for coding, then do yourself a favor and take a look at PragmataPro as well. I bought a license (checks notes...) 8 years ago and it has served me very well.

If I was not down to pay for a font, then I'd probably use one of Iosevka's forms. Personally, however, it became clear to me that just like my monitor, the font I spend hours looking at every day is also worth some money.

https://fsd.it/shop/fonts/pragmatapro/


Pragmata Pro is quite nice... but not for coding.

I like narrow fonts. Barlow is excellent. News Gothic is fantastic. Geo Grotesque is super beautiful. But it just doesn't work for me when a coding font is narrow. Fonts like Iosevka and Pragmata are harder to read than needed and for no clear benefit. Especially when used for projects based on C and derivatives. If you ever find yourself needing to cram more symbols per line onto your screen, it's a sign that there's a coding style problem! Lines simply should be short enough to not require horizontal compression.

Obviously, YMMV, to each their own, etc.


I keep my code below the 80 column mark, as is common. For me, the reason I like the more narrow Iosevka is because it lets me have more split buffers open on the same monitor. With Iosevka I can have 3 splits with a little over 80 columns each, other fonts only let me have two. I never noticed a decrease in readability but I've been using Iosevka for a very long time now, perhaps it's time to try out a wider font and see if it's worth it.


Exactly the same reason why I use Iosevka and 79chars. However I use WQHD monitors and fit 4-5 splits.


Different strokes, I suppose. (Pun intended.)

I like the narrower font so I can fit two side-by-side files with full 120 character width each on a regular 16:9 display. Iosevka is likely my forever font. I find it both beautiful and fit for purpose; I couldn't ask for more.

Re: "lines should be short." I prefer my code font to work even for bad code. It's not always my code that I'm looking at!


I like narrow fonts because my variable names are fairly descriptive. That said, it's just an option.


Ever tried editing two files side by side on a 13-14" screen? Good luck without a narrow font or tiny font sizes. Meanwhile I find narrow fonts just as readable, so for me it's an easy choice.


Iosevka is my all-time favorite font. MonoLisa seems to sell itself on being "wide", and Iosevka is the opposite of that. Each letter is exactly .5em, which is on the very narrow side of things as monospaced fonts go. So if this thing appeals to you, Iosevka isn't the free alternative you're looking for. But if you want the nicest monospaced font in the world, then Iosevka is ;)


Iosevka also has an "extended" variant you can use, and you can create a custom build that has the width you want.


I missed that. The website lets you compare it to IBM Plex and Fira Code as well. Same width, but a little bit more contrast. Compares very favorably if you want wide.

My takeaway is that monospaced fonts are basically a solved problem thanks to Iosevka. It does everything. And you can mix and match individual glyphs to your exact preferences!


There's also Iosevka[1] which is open source[2] and also similar to Pragmata.

It even has a Pragmata Pro Style.

[1] - https://typeof.net/Iosevka/

[2] - https://github.com/be5invis/Iosevka


Yeah - I paid for Pragmata back in the day and totally forgot about it when Iosevka appeared. Even reminds me a little bit of 6x13 which I used for so long with my Dell 22"...


I'm going to hop on my hobby horse again for a second:

One of their first points is this:

>Designing a monospace font is much harder than a traditional, proportional one: being constrained by the same width of all glyphs can result in a boring or unreadable font.

And they're absolutely right. But it begs the first-principals question-- why code using a monospace font? Today, every major editor that isn't terminal-based supports proportional width fonts beautifully. It's also incredibly rare to see modern style guides that depend on having consistent column widths. In 2022, there's no technical reason to code using monospaced fonts. And there are a ton of beautiful and readable fonts out there -- There are probably a dozen pre-installed on your system that are more beautiful and readable than this font.

You see this tag line time-and-time again. "A font designed by and for software developers." But font design is and art and a discipline. Doing it well is very hard.


> why code using a monospace font?

Because unlike prose, we don’t reason about code in terms of words, sentences or paragraphs but rather in terms of statements, lines and blocks. Navigating between visual lines vertically makes sense when navigating in code. And to optimize this kind of navigation, monospace fonts are the best choice because where your cursor lands is predictible. It also brings cool features such as block selection which you can’t implement properly with proportional fonts.


I don't quite understand this. I've used proportional fonts in PyCharm and other editors for many years, and vertical navigation and block selection work fine.


For me legibility is more important: unlike prose, for code it's much more important, what's written in those lines, and monospace fonts sacrifice legibility for columns. And no, monospace fonts can't make cursor land where it needs to, because the destination can be anywhere on the line.


> And they're absolutely right. But it begs the first-principals question-- why code using a monospace font? Today, every major editor that isn't terminal-based supports proportional width fonts beautifully.

There was a whole "coding font" family designed around the idea that we should be using proportional fonts for this, and it makes a great case...

https://input.djr.com/info/

...except that just about every time I've tried this, I've quickly run into places where trying to use a proportional font creates visual fails. Here's a simple one:

    /**
     * Render a given template
     *
     * @param string $_template
     * @param array $_args
     * @return string
     */
Put that in a non-proportional font, and the asterisks on the first line probably won't line up with the rest. Now think of someone doing visual alignment of assignment operators in a block of code like you often see in Ruby, or any code following the indentation standard where you line up parameters in a multi-line function header with the character after the open parenthesis like you often see in Python. Speaking of parentheses, can you imagine what will happen with proportional fonts and Lisp indentation? It'd drive the hardiest Emacs user to drink in short order.

Proportional fonts in editors are a good idea whose time probably just hasn't yet come. We'd need (a) to have editors that support "elastic" or variable tabs to keep things aligned in a truly sane fashion, (b) to re-teach a generation or two of programmers that indenting with the tab character is good, actually, and (c) to develop a few new conventions for what makes code look neat and pretty.


I do find it hilarious that using tabs with non static tab stops basically solved this problem. Anyone that ever typed, on a typewriter, almost certainly used controlled tabs to line up data. I recall tables were easily done by just seeing the tabs correctly then proceeding in standard way.

That said, I don't see my lisp coffee caring that much. Let expressions benefit from lining up. Most other code, though? Not sure it matters that much.


FWIW, Verdana aligns those asterisks just fine. I do think deleting those asterisks makes documentation better and I personally write documentation without asterisks. Why they are there at all? It's just noise.


It's a documentation standard that is used by various tools, if you're utilizing those tools you don't really have an option.


https://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/j... - this standard? It clearly states you have options. Doxygen does the same.


You may be right on the main point, but I have a quarrel with one of your arguments.

> Put that in a non-proportional font, and the asterisks on the first line probably won't line up with the rest.

So lose the redundant asterisks. They serve no purpose. They make the comment both harder to read and harder to write.


That's a "DocBlock", in this case for PHP, although it comes from JavaDoc and I suspect there are some other languages using the same format. It's a standard convention that API documentation can be automatically generated from, and in many editors the comment block itself can be at least partially automatically generated. (e.g., in Visual Code, if I just type "/*" on a line before a function header and hit TAB, the editor's going to fill in a lot of those details.)

At any rate, while you might be technically correct, in practice, "PHP and Java coders should abandon this long-held convention used by hundreds of thousands of programmers and decades' worth of tooling in order to avoid unsightly alignment issues when using proportional fonts in editors" may be a hard sell. :)


Sacrificing legibility of code for a flawed tradition is a wrong tradeoff.


Less a tradition and more of a standard. It's more or less complaining that the way HTML escapes < > is ugly so you're going to substitute your own variant. There's nothing technically stopping you, but if you want your code to be parseable by web browsers you unfortunately need to adhere to standards.


> Put that in a [proportional] font, and the asterisks on the first line probably won't line up with the rest.

You quickly learn not to care about that. So what if the asterisks in the first boilerplate line don't line up with the ones below? And which of those two asterisks should have lined up with the others?

It just doesn't matter. Everything in the meat of the comment still lines up just fine in a proportional font, just as it does in monospace.

> Now think of someone doing visual alignment of assignment operators in a block of code like you often see in Ruby

I gave up that coding style many years ago, even before I switched to proportional fonts. You end up doing stuff like this (making up a contrived example, and not in any particular programming language here):

  name                  = user.name
  age                   = user.age
  driver_license_number = dl_database(user).dl_number
Sure, it looks nice to see the "= user.etc" lined up, but does it actually help the readability and maintainability of the code? I used to think so, but I don't any more.

Maybe it is because I am getting older and all that sideways visual scanning is not as pleasant as it used to be. Maybe it is because of the unnecessary commit diffs that this style produces.

Once I stopped doing this, I realized that the code would look fine in any font, mono or proportional.

> or any code following the indentation standard where you line up parameters in a multi-line function header with the character after the open parenthesis like you often see in Python.

It's worth noting that Black, by far the most popular Python formatter, eschews column alignment in favor of a purely indentation-based format. Python code formatted with Black is just as readable in a proportional font as in monospaced.

Here is a more extreme example from Rust, whose rustfmt tool used to rely heavily on the kind of column alignment you're talking about:

    let mut rewrites = try_opt!(subexpr_list.iter()
                                            .rev()
                                            .map(|e| {
                                                rewrite_chain_expr(e,
                                                                   total_span,
                                                                   context,
                                                                   max_width,
                                                                   indent)
                                            })
                                            .collect::<Option<Vec<_>>>());
The Rust team later saw the disadvantages of this kind of column alignment and switched to an indentation-based format fairly similar to Black:

    let mut rewrites = try_opt!(
        subexpr_list
            .iter()
            .rev()
            .map( |e| {
                rewrite_chain_expr( e, total_span, context, max_width, indent )
            })
            .collect::<Option<Vec<_>>>()
    );
(That may not be the exact rustfmt style, but it's pretty close, and it illustrates the benefit of simple indentation vs. column alignment.)

> re-teach a generation or two of programmers that indenting with the tab character is good, actually

Bless you for that! This is another advantage of indentation-only formatting. It stops mattering whether you use tabs or spaces! The code will be just as readable in any font, monospaced or proportional, and it won't matter at all if one dev prefers to render tabs as two spaces and another likes four.

The key to all of this is to abandon the kind of column alignment that monospaced fonts make so tempting.

I do agree with your point about Lisp. Monospaced fonts are so heavily ingrained in that culture that I couldn't begin to imagine how to change it.


Textmate 2 had some support for proportional width and different heights and styles in its early days. Don’t know how it panned out since I’ve since stopped using it.


Proportional fonts break code navigation, moving vertically is much more important in code than normal text. Also it's harder to line things up, and alignment is a good cue when scanning code.


I would argue that most use of column alignment in source code hampers readability and maintainability.

There are some exceptions, of course. If you are writing out hard coded matrices, you may want to line up the numbers.

But how many of us really do that day to day?

Many modern formatters such as Black for Python and rustfmt for Rust avoid column alignment and prefer indentation instead. Then the code is equally easy to read and navigate in any font of choice, proportional or monospaced.


Is it, though? Important, that is. Can be convenient. But so is ace jump. And the latter still works.


I had never considered using variable width fonts for programming. I can see some minor issues, like vim users(on an environment that support variable-width fonts) now have no consistency on where their cursor will land when using j/k to move up and down lines, but I think I will still try it out.


Since we are talking about our favourite coding fonts, my personal choice is on Comic Code. I find it very easy to read and better than the other mono comic sans fonts.

https://tosche.net/fonts/comic-code


Highly recommend Fantasque Sans Mono for a realistic take on the "comic-style" coding font - https://github.com/belluzj/fantasque-sans


It's weird but it feels extremely..welcoming and non-intimidating. I'm gonna give it a spin tomorrow even though I love jetbrains mono.


Seconded. It’s pleasantly playful but not so much as to distract. Very happy with it.


Oh god... I can't say if you're trolling or not.


There might be something to it.

To wit, Comic Sans is recommended by the British Dyslexia Association and the Dyslexia Association of Ireland. An American Institute of Graphic Arts post from last summer said that it might be the best font for dyslexics, given its "character disambiguation" and "variation in letter heights". While other fonts have been specifically designed to be read by people with dyslexia — Dyslexie and OpenDyslexic are two — they just don’t have the availability of Comic Sans. To hate on Comic Sans is “ableist", Hudgins argues, and doing so discounts the reading difficulties of millions of people.

https://www.thecut.com/2020/08/the-reason-comic-sans-is-a-pu...


I’m really using this font everyday since about two years. I remember setting the font in vscode and testing comic sans ms for fun, just to see. To my surprise it wasn’t that bad for me but of course not monospaced. So I looked at monospaced fonts inspired by comic sans ms, you have a few free ones on GitHub, and I ended up with comic code relatively quick.


I honestly can't tell much difference between this, and the new "Cascadia Code" font that Microsoft recently put out. If they didn't put "Comic" in the name, then no one would likely think twice about it. On the other hand, the notoriety of that name probably helps them draw attention, too.


Cascadia Code (free, from Microsoft) is surprisingly good. There is a clone of it on NerdFonts that adds more ligatures if that’s your jam.


Maybe a bit pedantic, but nerdfont adds icons, not ligatures.


This is great. I already tend to go for "curly" fonts like this: Recursive Mono ("Casual" or "Duotone" presets), Fantasque Sans Mono, and Mononoki.

MonoLisa seems to fall into a similar category. Is there a name for this style?


I find that font very beautiful and pleasant to look at.

That said, the licensing seems completely out of touch from reality to me. Today we are living in the cloud area, where data and and workspace are replicated across devices. When I read that you need multiple licences to have it on more than 2 personal devices, that sounds too much of a hassle to consider buying it.


On the topic of fonts: If your font of choice has it, try using the medium weight as the "normal" weight in your editor — I've found I prefer it to the regular weight with most fonts. I started doing this after noticing that the default Xcode font is SF Mono Medium.


For anyone else who wasn't sure which is bolder, Normal/Regular is considered weight 400 in CSS while Medium is 500.


I thought I was the only one doing this :P It definitely helps at smaller sizes, narrow fonts like MonoLisa simply become too faint to read easily otherwise


Do people really care that much about editor fonts? I just use SF Mono and call it a day. I've never had a problem where the font, of all things, was the main cause of something not working for me.


If you're looking your day at nothing else but text it's the most obvious thing to spend time and money on to improve. Sure, it's an utilitarian thing at the end of the day, but why should it not look pleasant to your eyes?

I don't think I ever had _a problem_ with a font, but that does not mean I do not want to spend a bit of time and effort to improve my experience. I could probably also get away with a much worse keyboard or monitor and be just as productive. But would I enjoy it just as much? Probably not.


Idk, putting the $199 towards buying a nicer monitor seems like the pro gamer move. There are billions of free fonts out there.


I'm not sure what you're referring to. The font is a one time purchase and significantly cheaper than a new monitor. Both things (a better monitor and a better font) can make you enjoy the things you're doing more.

Yes, there might be billions of free fonts out there, but the cost of that font is also not exactly making a huge impact for me that I have to save money there. Why would I start saving with the font all the sudden when I spend more money on literally everything else? Does not really compute to me.


No, sorry fontographers, but I can't tell the difference between the scores of mono fonts created in the last half dozen years. As long as it's kinda pleasing and can easily see the differences between () and {}, 1iIlL| and oO0, I'm all set.


It’s definitely something some people care about, although I am certainly in the camp of not caring at all. I have no idea what font my IDE uses, and I have never thought about changing it.


The point is to make little things a little nicer, that's all.


I look at it all day long so it has some weight after my screen and keyboard.


yes, some people care, also SF Mono is a really great font too! Its ok for people to like stuff that doesn't make sense to you


SF Mono is indeed quite good, I use it on my non-macOS machines as well.


I looked at it a few years ago and dismissed it because it’s so similar to Source Code Pro in terms of spacing, size and overall feel. Source Code Pro is an excellent wide font that I’ve been using since its release about a decade ago. And it’s free, and there are Nerd Font variants with ligatures if you’re into that.

I noticed that MonaLisa added script variant last year, so if you want something like that in your editor it’s a very good choice. In fact, I’d recommend it over Operator Mono (the OG monospaced font with scripted italics), because the later has a much smaller character set.

Or, pick a free Victor Mono if you like narrower symbols. Alas, us - wide font users - have to pay for a script italics :)


> As software developers, we always strive for better tools but rarely consider font as such.

… where have YOU been spending time?


Isn't "increased width" an ungodly sin to the developer lord? If anything, we want to see more in a given space, not less...


> Isn't "increased width" an ungodly sin to the developer lord? If anything we want to see more in a given space, not less...

I think it increases readability. I need to read what I'm looking at, not a lot of things I'm not looking at.


Not if a part of a line is out of the window right? This makes splitting harder, therefore, reading harder


Then make your window wider. Bam, problem solved.

"But then I can't see as many windows!" That brings us back to the GP's I need to see what I'm looking at, not what I'm not looking at". When you want to look at those other windows, bring them to the foreground and let them obscure this one.


Seems niche?

I don't think that's enough of a reason to say the design choice is a sin for everyone.


Line length linters are kinda standard. The goal is to have "shorter lines".


Line length doesn't change just because the font itself is wider.


Seems like the same amount of characters that are each wider would be wider? So you would see less characters on a line with the same amount of characters


Well yes and no. The line would visually become longer, but if we're talking enforced line length by IDE's, say 80 characters, then the line would still be 80 characters long, but just take up visually more horizontal space and so whether or not you see the same amount of characters on a line would become an issue of how much horizontal screen space do you afford for code.


Why not just use word wrapping?


I find reading code with word wrapping nearly impossible.


I'm already going with 80 or 120 chars per line. Why would I word wrap well written code?

Also word wrappings will lose all the preceding tabs. It makes it 100x harder to read.

The issue is I will have less split space.


> Also word wrappings will lose all the preceding tabs. It makes it 100x harder to read.

This depends on your editor. I know VS Code supports indentation/alignment of wrapped words. I believe Emacs and Vim support it as well.


That's how I think about it too. I use Anka/Coder Narrow. It takes some getting used to, but may enable using an additional editor window at certain monitor sizes.

Another commenter replied that all editors have word wrap, but the resulting code doesn't look great, IMHO. I prefer full control.

https://fontlibrary.org/en/font/anka-coder-narrow


For terminal/console use wide fonts hurt IMHO. I really like Iosevka, it even has a terminal optimized version that's explicitly less wide: https://typeof.net/Iosevka/


Considering we have 80-column conventions and widescreen monitors... no?


Wider fonts are significantly easier to read than narrow fonts which is the main point a programmer typically optimizes for. Since most editors can reflow anyways and programmers are relatively conservatives for max width anyways my general experience is that I have more than enough space on the right unused.


This assumes that the code you are writing will actually be read by someone later on. A bold assumption to make.


It's not about posterity but reading back what you just wrote a minute ago. That's not a very bold assumption.


It's strange, I find the complete opposite to be true. A narrower font allows my brain to grasp the line quicker, without having to move my eyes as much.


I would be shocked if this was not up to personal preference :)


Stay away from Vulf Mono then!


> being constrained by the same width of all glyphs can result in a boring or unreadable font.

I don't see how "boring" is an issue here. If the whole thing has a goal of functionality, why do I care if it's boring? And what is a "boring" font anyway?

Reminds me of the Apple-induced desire to call everything "stunning" or "beautiful."


> I don't see how "boring" is an issue here. If the whole thing has a goal of functionality, why do I care if it's boring?

Exactly. Or actually, to go even further: On the contrary, "boring" may well be an issue, but in the sense that that's what we want. When you write code -- or prose, marketing copy, poetry, whatever -- what you want to concentrate on is the content of your text, not the esthetic of the letterforms. "Boring" is the opposite of "captures your attention", and if I want to focus my attention on the meaning of groups of letters, "boring" -- not grabbing my attention -- is exactly what I want the shapes of the letters themselves to be.

And yes, I want them all to be the same width, so I can line up repetitive bits of code (or poetry?) below each other and match -- catch -- the non-repetitive bits at a glance. (Sorry, we can't all write in bone-DRY functional languages; SQL is pretty damn verbose and often, yes, repetitive.) IMO that's part of the content I want to focus on.


> As software developers, we always strive for better tools but rarely consider font as such.

Meanwhile, I look at new coding fonts on at least a monthly basis. Nothing beats Input Mono [^1] for me; I actually like wider fonts, so I might take this one out for a spin.

[^1]: https://input.djr.com/


Not a fan of these sharp modern faces in general. However, the small text in this one looks particularly "smudgy".

I stopped hopping monospace fonts when I discovered Go Mono. Go Mono does not seem to get blurry even at small sizes. M, m, n always look impeccable. Not so here.

I'm not sure. Maybe something is wrong with the text-rendering in my browser.


I very much like Go Mono, despite it being something of an oddball.

https://www.programmingfonts.org/#go-mono

A serif monospace font that doesn't look it came from a typewriter? Very little separation between letters? A font made for specifically for typesetting one programming language? It really doesn't seem like it should work, but it does for me. I have it installed as the system monospace font on every computer I can.


Since these comments just seem to be suggesting alternatives or chiding this font for its price tag, I'll jump in and say that I bought it about a year ago and absolutely love it. There was definitely some sticker-shock at the price at first.

After staring at MonoLisa in editors for 8+ hours a day for over a year, I can say that I _really_ love this font. Installing it is the first thing I do when setting up a new environment. It reads well in code and in the terminal, and I even wrote a significant amount of prose (60k+ words) in it and it was a pleasure. Definitely do not regret spending the money.


I thought this was gonna be yet another monospace font I wouldn't be able to tell from all the others, but fuck me as soon as the page loaded this one just spoke to me. Grabbing this for sure, well done!


There is a font on my KDE desktop called just "Monospace" and its a great font.

I can't find a font file called Monospace. Does anybody know what the font is? I would love to have it on my windows machine.


I think you should be able to run `fc-match monospace` to find what it is resolving it to.


Thanks very much! It is NotoSansMono-Regular.ttf


Different distributions pick different defaults for `Monospace`. If you are using KDE on ubuntu, `Monospace` might be pointing to `Ubuntu Mono`. On other linux distros if they are sticking to KDE defaults, then Monospace will point to Hack [1]

[1] https://sourcefoundry.org/hack/


I'm on Kubuntu, Its not Ubunto Mono and I'm 99% sure its not Hack. You can select both those options and both look quite different.

I wish I was at home so I could post a screenshot.


I'm pretty sure the default "monospace" font in KDE is mapped to Hack: https://sourcefoundry.org/hack/


I'm guessing this is just whatever the default monospace font is rather than being a font called Monospace.


The site lists increased width of the font as a feature - but after discovering PragmataPro and Iosevka (that is usually mentioned as an open source alternative) I fell in love with how much horizontal space can be saved with those fonts. I often find myself opening two shells/IDEs side by side, and at these moments I truly appreciate how little space they occupy. From my perspective, it's a no for MonoLisa.


I'm a big fan of Input Sans as well: https://djr.com/input/


The comparison to Fira Code is hilarious, basically no deviation except 'r'. Just go use Fira Code it's at least free


The whitespace only ligatures look like an interesting idea and a good alternative to full ones.


I feel like I'm the only person who hates ligatures in coding fonts, but I agree that these whitespace ligatures are (mostly) a good compromise.


very cool! it passes the 1IilL0Oo test. I'll give it a try.


> Designing a monospace font is much harder than a traditional, proportional one: being constrained by the same width of all glyphs can result in a boring or unreadable font.

A very ironic statement because I find the font to be absolutely unreadable.


And I find it very readable and pleasant. This is why there's more than one font in the world.


But there shouldn't, one day Comic Sans will rule them all.


This may seem like a minor nitpick but it's something that popped out at me: italisizing a font shouldn't add or remove serifs. There is a reason why Unicode defines both sans- and serif versions of italics.


Prices: Personal: $59 Plus: $129 Professional: $239


Perhaps I'm missing why this is desired for fonts in general, but my tendency when selecting one for editing code is to use one with a smaller vertical line spacing to minimise spacing between lines (and therefore fit more lines on screen). Why do people appear to prefer the opposite (massive distance between lines)? I'm currently using Input Mono, not because I like it specifically as a font, but because it's relatively narrow, and because its vertical spacing is smaller than many others.


Navigation tools in code editors are generally good enough that I'll sacrifice information density for readability (i.e. I can get where I want to go fairly easily, so it's not really essential that it's on screen). Also the methods in the codebase I'm working in are nearly always < 10 lines long, so the 'unit' of code I need to see at once comfortably fits no matter how much vertical space is used.


> Why do people appear to prefer the opposite (massive distance between lines)?

Readability. Having text crammed into as little space as possible is efficient, but many people have problem reading it.


Sure, I guess my question is around why people would consider a line in a sea of space more legible than the same x-height font with less space below it.

I guess I could have an unusual take on this, but I find a lot of mono fonts seem to have massive inter-line spacing. So much so that their appearance is almost jarring to me. I find it disruptive to read. If I had issues with the legibility of a font then I'd increase its size, not the spacing between lines.

As mentioned earlier though, I guess I'm an odd-one-out here, I'm seeking to understand how/why my view here is unusual.


I am one of those using this font for ~1 year now, very happy with it. As a designer/developer with penchant for typography I am the perfect target customer I guess.


My favorite font still remains fantasque sans mono. It's loosely based on comic sans, I just need a little playful edge in my coding job. Otherwise it gets too stale.

Love the font


I Completely agree! It is my daily driver font. Use it everywhere, great for shells too. And it's free

https://github.com/belluzj/fantasque-sans


Another day, another Letter Gothic lookalike "developer font". I do not feel particularly motivated to switch away from the terminal bitmap fonts I normally use. There's something about an 8x8, 8x16, or similar small numbers grid of pixels -- the constraints seemed to breed creativity that you don't see too much of anymore in monospaced fonts for coding/terminal use.


Curious which bitmap font you use? I use terminus.


Terminus is a great one, but right now I'm partial to the Atari ST 8x16 font.


Looks good, but I'm still in love with Consolas.


Same. You might find Inconsolata interesting, too: https://github.com/googlefonts/Inconsolata


- While the effort to create fonts is not trivial and should be rewarded, this seems expensive. I've bought fonts before, but they were like $5-15, not $100. - It's fantastic to see the variety of human experience on display in the wide variety of font preferences. I used to thing "why to we need more than one?" LOL - My favorite so far is Source Code Pro.


The roman (not italic or script, though) “g” is horrible and doesn't fit with the other letters that would normally sit their main body on the baseline but also have a descender. Why is its upper portion raised and squashed, and it's tail so misshapen?

I cannot look at text in this font without the feeling that every “g” is reaching out from the screen and slapping me in the eye.


It’s a bit odd but doesn’t bother me too much. The totally different italicized “a” really throws me off and looks like an “o” to my blurry pre-coffee morning eyes.


It's very funny to me how the 99€ Plus version and 199€ Pro version advertise an alternate g as a selling feature.


Looks good. I'd like fonts meant for technical use to include the following 3 unicode symbols:

21A7-depth

2334-counterbore

2335-countersink.

These are standard for hole annotations on CAD drawings.


> MonoLisa uses open forms and terminals (starting and ending points) that are pointing towards the neighboring letters to let the eye follow the line of text fluently.

Does the lowercase g follow that convention? It seems to make me almost stumble while reading and do a double take on what the letter is. But maybe it's just because I'm new to the font.


I don't understand how they can advertise this font being "wider" than other ones. I skipped all those modern Programming Fonts because none of them is as condensed and readable as "TheSans Mono Condensed".

That font is terrible because its basically still ASCII only, but I use it everywhere. I would pay good money for a Unicode version.


Is this part about terminals actually true? Or a tad exaggerated for marketing?

> MonoLisa uses open forms and terminals (starting and ending points) that are pointing towards the neighboring letters to let the eye follow the line of text fluently.

Regardless, I like the font overall. My go-to is Fira Code but this might be worth a try.


I'm still not getting how the top of the a isn't pointing to the left, completely opposite the arrow they've drawn on it.

(Or, also, that anything like what the site describes actually happens. The entire page is [citation needed].)


> As software developers, we always strive for better tools but rarely consider font as such.

A quick search of hn shows the opposite: it seems like we're always talking about fonts and releasing fonts and comparing fonts. I practically have monospace font fatigue. But yeah this font looks nice enough


Beauty! My personal preference is iA Writer Mono. https://github.com/iaolo/iA-Fonts/tree/master/iA%20Writer%20...


This post led me to a nice journey where I finally ended up replacing my handy friend Fira Code Finally with iA Writer Mono. Fantastic !


I don't know what they were doing with their javascript, but they broke both the reload button & ctrl-R as well as maxing a CPU for 30s after closing the tab. Possibly something with the canvas, I got a fingerprinting attempt warning for that.


me too, somewhere in that site is messed up so bad.


I like Comic Mono. It feels informal, playful, produces no fatigue, and keeps me from taking my code too seriously.

https://dtinth.github.io/comic-mono-font/


I recommend agave(NF), if you want a similar vein but a bit less cheerful. It's so easy on my eyes.


I like how it makes some aesthetic changes while also maintaining that "programmer" font. That's super cute.

Though honestly, I'm mainly focused on the name. That's such a fantastic and clever name for a font and I can't get over it.


I never even considered people bought fonts for local dev use. Sounds pretty steep.


It tired a bunch of different fonts, but nothing felt as good as Dejavu Sans Mono.


If I was going to pay for it, I wish they'd offer nerdfont patched versions of their font (see https://www.nerdfonts.com/).


We are looking into this and might provide a solution soon.


The first font with a pre-existing theme song: https://www.youtube.com/watch?v=EMH96B8QWcc


50$ for the basic font package, 240$ for the "pro" package (discounted!)

LOL


Awe, the script version doesn't have ligatures. Some people think I'm a weirdo but I really like having my keywords in ligatured script and the rest of the code normal.


What do you mean by that? Adding “script” variant only for language-specific keywords? I think we could consider doing this… the tricky part is to know what language you’re using so it looks like different ligatures depending on the language.


I can't really move away from:

- Dejavu Sans Mono on the editor

- Ubuntu Mono on the terminal

Maybe it's just that Ubuntu renders such fonts beautifully, but any other font (except maybe Roboto) is an eyesore, to me


After switching a lot of programming fonts and using Fira Code for a long time, I've now ended up using whatever the default font is that comes preset on VS Code


The way "Cc" is drawn makes it harder to read for me for some reason. Almost as if the letter is about to fuse with the next one.

>CG

>Different terminals of capitals

Doesn't really work well for me.


It's really pleasant on the eyes, even in running text.

I'm using Fira Code and it's only good for code. When I use it in the CLI everything looks off.

MonoLisa could solve this!


Another coding font, thank goodness! I was getting nervous, because it took more than 24 hours since the last one was announced.


The theme switcher (coloured dots, top right) switching between a variety of common editor themes is a nice touch.


I'm thinking about getting this. I really liked the side by side demo. Paying for my tools is worth it.


Are there plans to support Arabic, Japanese, Korean or other missing languages?

I do a lot of NLP work in various languages.


We might consider doing that if we see a big demand but currently the economics of adding those languages doesn’t add up for us.


Is Monospace Arabic a real thing?


To the best of my knowledge. I would expect programmers to need it the same as in any other language.

https://makkuk.com/kawkab-mono/


This looks like the DejaVu Sans Mono font that I've been using for 10+ years now.


looks very bad on non-retina windows display jetbrains mono is still the best


We are aware of some windows related issues on non-hidpi displays. It’s the price to pay for less geometric shape of glyphs unfortunately.


I will never use a font like this wider? hieroglyphs?? LOL no


It's to shapy, eyes don't like it


this is too expensive, I would pay $40


Holy macaroni! Looks awesome!


What I like most about this font is that it has a completely different aesthetic from my favorite monospace, JetBrains mono. It has more of the humanist flavor of a Frutiger versus the DIN-like rationalism most monospace fonts adopt.


I wonder how many people glancing at the landing page have browsed over to the download page, and discovered that this a paid font? To the tune of $69 to $239, depending on the options you want.

If this were something really revolutionary, then okay. But this looks like every other Bitstream Vera Sans Mono variant, just tweaked to be a touch wider than Fira Code or Jetbrains Mono. But half of the fonts on https://www.programmingfonts.org are Bitstream Vera Sans Mono variants, a touch wider than Fira Code or Jetbrains Mono. And they're all open source and free.


People charging $199 for a slightly wider Lucida Console, you can't make this shit up. The marketing is so outrageous.

In case someone's seriously considering this, here are an additional two sites that have literally hundreds of CC0 and other free to use fonts, not just monospace:

https://www.1001freefonts.com

http://allfont.net

DIN 1451 Mittelschrift is my personal favorite.


If you like symbols and fancy terminal stuff, I'd also like to recommend any of the Nerd Fonts - all free.

https://www.nerdfonts.com/


Superb. Love this font.


I love the DIN family but haven't been able to find a monospaced variant for coding/terminal use. I'd add Abstract Fonts[1] to the list, though you have to watch the license (many are only free for personal/non-commercial use).

[1] https://www.abstractfonts.com/


Oof. Yeah, I do love the squared capital D in the DIN family, but the "ft" in Mittelschrift is a car crash.


I wanted to let you know I'm upvoting you, not for the useful links you have provided, but because I also love DIN, to an unreasonable degree, like the kind of feeling that makes someone otherwise totally rational marry a pokemon.

When I was about 20, after the Berlin wall came down, I rode my bike round berlin, then all round east then west Germany for three months, sleeping rough in the forest most of the time, and I think the font, on road signs everywhere, soaked into me as linked to that summer.

But you know what really creeps me about this font. It has a history dating back to the start of the 20th century as letterforms for hand painted signs, but Deutsche Industrienorm 1451 was created in 1936, the year of the of the Berlin Olympics, concentration camps had been open for three years, Triumph of the Will was released the year before. If you've never seen 'Triumph of the Will' it's an experience, I'd never understood how the fascists had managed to appeal to enough people to actually win an election, but in that film you see how they presented themselves to the people of Germany at the time and it was sophisticated. There's a moment in the film in which hilter interacts with an unemployed labourer, and in that interaction he imbues this guy with a sense of purpose, hitler has told him he is a soldier - a soldier with a shovel, it's nonsense, but it is carefully crafted nonsense. It seems to me that DIN is part of this carefully crafted propaganda, a tool to help project an vision of Nazi Germany as rational, orderly, scientific, rigorous and correct. And it does the job, like the unemployed labourer, I respond to it exactly the way goebbels would want me to.

I know I can use a Roman road without endorsing the invasion of Gaul, but there's still a horror there millennia later.


> There's a moment in the film in which hilter interacts with an unemployed labourer, and in that interaction he imbues this guy with a sense of purpose, hitler has told him he is a soldier - a soldier with a shovel, it's nonsense, but it is carefully crafted nonsense.

Well, maybe not total nonsense? The same kind of thing seems to have worked elsewhere too: https://en.wikipedia.org/wiki/Works_Progress_Administration


That's more or less what I'm trying to say, the little morsel of self esteem given to labourer, the sense of purpose and inclusion, comes tangled up in an insane and horrific ideology, if he wants to eat that morsel he needs to swallow the other part too. So the strategy isn't nonsense, it's nasty, but not nonsense. The human need for inclusion and self esteem is real, responding that need is real, the nonsense is the mythology in which that response is served.


It looks like a lovely font, a shame about the price. They have, however, included it into their website and distributed it to my browser for free, without asking me first: https://www.monolisa.dev/api/fonts/initial

According to the EULA the font is now mine under the term "by downloading the software accompanying this license".

Correct me if I'm wrong please. /s


yoink!

I saved the EULA in case your interpretation is accurate and the EULA changes.


IMO, this is one of the rare programming fonts that actually looks great to me. I use Operator which is also a paid font. I used Source Code Pro for a short while and never really like any of the other free offerings.


Also, how many people who regularly browse HN have seen a headline like "[Font Name] - A font designed for developers"? As a mild font nerd, I love that people keep making more fonts. But also:

https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...


Shame this is such an expensive paid font. Flagging for the shameless promotion.


Helvetica, the World's Most Popular Font, Gets a Face-Lift. The 62-year-old typeface that's used everywhere from subway signs to corporate logos has been updated for the 21st century

https://www.mymorri.net/




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

Search: