Every thread about programming fonts is not complete without mentioning the wonderful website https://app.programmingfonts.org (no affiliation, I just find it really useful) which lists all the free programming-related fonts with live preview (for example every single font from the article, and every one mentioned so far in every comment in this thread is already there in the app) - it allows quick one-click preview with custom text on each font, and has direct links for downloading said fonts.
Every font from this thread is already there in the app so you might as well just try them all.
One of the things that really gets in the way of comprehension for me are typefaces with too much personality. These cutesy italics etc. really seem to affect my ability to get on with the job at hand.
This is why, despite trying, I've yet to find something that can outdo Consolas on Windows. I tried Fira this and that, Source code pro and a bunch of others from Google Fonts. They all are inferior to Consolas in my eyes. They'll either be missing the slotted '0', or look crowded in small sizes etc.
I found it terrible, not only because of the surplus personality, but due to aesthetic and readability issues.
Readability - the r looks to me closer to an i, not the i of this font but a generic i, I find it confusing and it slows me down.
Aesthetically - the f character have space before it that in many combinations cuts a word to two, for example in the word delightful. Generally the font is mono-spaced, but the space between and after characters varies a lot.
I found it terribly incomplete. $40 and it can’t cover all four standard weights: regular, bold, italic, and bold italic. I believe it was last one, bold italic, that it was missing and the website is careful to obscure that fact.
Do I like Dank Mono? I am indifferent to it. It hasn't sold me on switching from Source Code Pro.
It's better than a lot of other fonts I've seen on programmingfonts.org so far. But just because a font is good or on par with my current one doesn't mean I'll use it. Force of habit is a big factor.
I've moved to it recently and is my new favorite. Mainly because my eyes are getting old so I don't need it to look good at 7 pt since I couldn't see it anyway. And I like thicker fonts like this.
Have you tried Ubuntu Mono? It's not as thick but is quite readable. Also their bold variant might satisfy you if the regular doesn't. DejaVu Mono is also quite adequate.
Too much of the cursive can damage readability, but if it's constrained, then it actually helps a lot. I use Dank Mono and write primarily in JS. I use the cursive for things like `let` and `const`, which helps them stand out. It's a very nice typeface, well worth the money.
Not to sound flippant or pretentious, but for me, $40 is practically free for a software tool. On top of that, I can expense licenses if I use them for my work. I’m guessing that most people in my position would have no problem paying $40 for a font.
It's still a bit much IMO. It reminds me of Sublime Text being priced at $70 or Input Mono being $40-100+ depending on the options you choose.
I assume they are willing to accept the risk of piracy and/or lost sales to free alternatives like Fira Code, and plan to make their money on institutional licenses instead.
I would bet that most who wouldn’t buy Sublime at $70 wouldn’t buy it at $35 either. If you’re paying for text editors and fonts they’re probably important enough to you that you probably won’t let price deter you unless it’s truly exorbitant.
Personally speaking I’m a bit more spendy on small dev products because I know it’s harder for them to stay afloat, unlike Jetbrains or Adobe which aren’t really impacted by my purchase decisions in any meaningful way.
I am not saying you are wrong but to me the real problem is death of a thousand cuts problem: I have zero issues paying for quality work and I do; but when these things start piling up -- fonts, images, logos/icons, IDEs, creative software -- you can easily find yourself spending $1000.
I am not stingy but I feel drowned in a sea of good work each requiring its payment. This phenomena turned me off paying for fonts and settling for free ones.
Thanks for the introduction to Dank. First time I've seen it and I like the look of it. Particularly the 'f' shape.
What's the closest free font you've seen to it? As it's so different from my usual monospace font I want to try ssomething similar first to see how I find it, before spending money on it.
Indeed, just the free ones. Although perhaps I should list the commercial ones too in some way.
That said, I do tend to feature them in the tumblr blog, so you can search that for a preview, background info and a link.
Seems to be missing Computer Modern's Typewriter Text face (a.k.a. "CMU Typewriter Text"), which was my primary monospaced typeface (and still is on all except my work laptop, which I switched over to Fantasque Sans Mono since it's a better pairing with Comic Neue). It's a lovely font, the only fault being the lack of a slotted 0.
:/ The bitmap fonts are rendered with anti-aliasing. That's too bad. The advantage of bitmap fonts is how crisp they look. Here, they're pretty hard to read at small sizes.
Only if they aren't at their native point size. If you're on chrome, then you're right, because chrome renders how it wants, in classic "I know better than you" style.
What bitmap fonts do you miss? The site is currently restricted to fonts with a license that allow me to serve a web font for the live preview. So while there are a bunch of bitmap fonts in there, there might be some missing. I love to find out about new fonts though.
I suspect those X11 bitmap fonts are in arcane 1980s formats that would require a chain of conversions-- from bitmap to vector to get them to Postscript Type 1 or TTF, and then from TTF to WOFF.
Yes, I’ve seen a lot with old formats. I don’t think the bitmaps themselves are a problem, I already have a bunch (maybe they are faux bitmap though, not sure actually). And they don’t need to be woff though, that just adds some compression and prevents installation. The latter of course not being an issue for the fonts that are featured here.
i mean the standard "fixed" X window fonts, that come with x.org and have a large variety of sizes. They are typically the default font for xterm. They are everywhere, in debian for example, so no problem with the license.
In the US at last check, bitmap fonts weren't subject to copyright. Also, the X11 fonts I've looked at had a license string something like "these glyphs are unencumbered".
Im not sure I follow. Are you saying you don't understand why people who stare at letters on a screen all day every day for a living might have an interest in the fonts used on said screen?
We stare at text for hours on end, every day. We want the text to be functional... and pleasant to look at. I change fonts frequently, just to spice up my life - it's a little like changing your desktop background on a regular basis.
A good programming font helps avoid confusion. For example, it should be clear if a character is l, I, or 1 without having to see them next to each other (also o, O and 0 as well as others). A font should also make reading code as pleasant as possible (though of course this is highly subjective).
When you consider that programmers spend most of their time reading code, it's not surprising that many programmers care about the font being used.
Practically, we look at text all day long, so having a font that is easy to read is good ergonomics. A font may be good for code, but might not work as well in a tool like htop or gotop.
Monospaced fonts are also interesting from an artistic perspective that resonates with programmers. Font designers are able to be expressive and original despite — or perhaps because of — the constraints of the problem: all characters must have the same width and the text should be readable for long periods of time, often at small sizes.
Well, we spend almost all of our time reading code. I think it only makes sense we develop strong opinions about the font we do that in. It's an essential part of the interface.
The Dina font is free. You are welcome to use, distribute
and modify it however you want, just don't use it for
anything illegal or claim that you made it.*
The 3 main things I look for in a "coding font" are whether I can differentiate between i,I,l,L,1 and 0,o,O characters, whether or not it is readable at tiny font size (7px to 9px range on my display) and that it is a monospaced font. first and second are nice to have in any font.
For over 4 years I have sworn by the excellent Fira Mono font by Mozilla more specifically FiraCode (variant with added ligatures), before that it was Consolas. Beyond the three things I have mentioned I do not desire anything more from a font.
I like Fira Code but it has too much flare for me. Microsoft recently came out with Cascadia Code which fits my bill. I don't know if it fits yours. It looks like you've already found your solution but I thought I'd pass this along anyway.
Cascadia looks really nice, but I worry about fonts that combine two equals signs into one long one. I can imagine getting used to it, but until I did I'd be worried about assignment-vs-equality operator bugs
Thanks for the suggestion, I did not know about Cascadia Code. I am a big fan of Consolas font but it is proprietary so I had to look for something better which lead me to discover Fira Mono. I personally really like its design choices, that is why I have been using it for so long also the fact that it is floss font is a huge plus, and If by flare you mean the ligatures then Fira Mono (the original font without the patched in ligatures) might interest you, then again if it has too much flare for you then that is that because font preference is subjective.
I looked at the issues page and was not surprised that Microsoft, in its Seattle-centric view of the universe, did not cover many international glyphs.
Any comment on how many of these coding fonts suffer these issues? I am glad to see the screenshots in the article at very least thought to include Greek.
I think a programming font should cover at least full Latin and basic Greek, and the Unicode blocks General Punctuation, Superscripts and Subscripts, Currency Symbols, Letterlike Symbols, Number Forms, Arrows, Mathematical Operators, Miscellaneous Technical, Control Pictures, Box Drawing.
In fairness to Microsoft, Cascadia Code is still a young project. A couple of weeks ago, they had their second release which added Latin characters (vowels with accents, cedillas, etc.) Hopefully they keep adding more.
Perhaps I am slightly frustrated that I have seen recent MS de-prioritize internationalization. Which is ironic because in the 90s they had Unicode support and features like RTL mirroring before a lot of others.
I am also a former MS employee, so maybe it is more of a loving criticism than appears on the surface.
Good question, Although the numbers are almost arbitrary there are a couple of reasons:
-- when looking at logs, database dumps or large forigen text files in general, it is often convenient for me to set the font to a smaller size in order to get better context from surrounding text and for this purpose, I need the font to be able to facilitate my workflow regardless of size and resolution of my current display.
-- Although I no longer use mini map like features of text editors (in part due to the novelty wearing off and in part due to my move away from VS Code as my primary IDE/Editor to Neovim), such fonts make the mini map almost readable on large high resolution displays (which again, provides better context for the code I am editing).
-- It is a handy measure of readability. If the font is readable at that size then it has good geometry and can be used on most low resolution displays (it is a range I came up with after experimenting with a 768p 15.6" laptop display) as previously mentioned sometimes it is handy to be able to lower the size in order to get a better view of the context.
not op, but while I don't usually set my fonts so small, on occasion I felt the need to, and was frustrated when my used font suddenly became unreadable.
U used Monofur[0] as a programming font for the longest time since it differentiates the similar characters so well. In addition it's a nice friendly looking typeface with big round characters.
This rarely gets a mention but totally deserves one: Iosevka[0], a programming font with great ligatures, multiple weights, and customizable character variants to tune it to your preferences. It’s more slender than most blocky monotypes which makes it stand apart especially from more traditional choices like Monaco and Consolas.
I used Iosevka for a whole year and it is one of the best fonts I've ever used, amazing quality. I only changed to Input because I wanted to have some variety.
It's hard to do these fonts justice via preview alone, but in whole it's very legible to read.
Aside: If you want fast access to a ton of fixed-width (coding) fonts, pre-patched for powerline, you can grab them at https://github.com/powerline/fonts.
If you do CJK (Chinese, Japanese, Korean) characters in the terminal and want crisp, bitmap ligatures, I recommend Wen Quan Yi Micro Hei. But it doesn't work well scaled up in HiDPI monitors unfortunately! CJK in the terminal is still kind of a mystery to me.
I see Input Mono is mentioned, but I actually really like using Input Sans, also from Font Bureau. It's a proportional coding font. I feel like I'm living in the future.
I've been using proportional fonts for coding for years. Nobody notices when looking at my screen or when doing a screen sharing session. The few times I talk about it everybody agrees that it's easier to read. I'm not surprised, because nobody formats books, magazines, newspapers, web sites with monospaced fonts. The only problem is that it's impossible to align code on successive lines to the right of an equal sign. Not a big deal. It's also pretty impossible to write ASCII diagrams in comments. AFAIK there is no editor that can help with that, unless one wants to code inside a word processor.
ASCII diagrams in comments/docstrings are doable if your editor supports custom faces. For example `M-x list-faces-display` on emacs tells me that (among other things) I can customize:
- font-lock-comment-face
- font-lock-doc-face
- org-table (also depends on alignment)
For ~6 months I used Comic Sans as my single font system-wide - like, for everything. Everywhere in the system UI, code, even on webpages (Firefox lets you disable CSS font selectors). The only exception was the terminal, which got messed up with non-monospaced fonts.
It was actually surprisingly great. Then as soon as I got a 4k monitor Comic Sans started to look very ugly - if not for that, I would still be using it. These days I use GNU FreeFont (FreeSans) for the system & Firefox & IDEs, but I have started to do almost all programming through the terminal so I use Fira Code and [Liga]Hack for that.
So give Comic Sans a shot, you might end up liking it too :) (On Windows/macOS you probably won't be able to set it as your system font, but you could still use it in your IDE and on the web)
I have to ask, why Comic Sans specifically? Seeing as it almost universally regarded as an specially ugly font. The only uses that I’ve seen accepted for Comic Sans are for use in comics (obviously) and for people with dyslexia.
I use Comic Sans as my font for closed captions. I'm not dyslexic, but I actually find it way easier and quicker to read than something like Helvetica. But I would never ever use it in a design.
Input looks good I'm going to check that out. I've been using https://sourcefoundry.org/hack/ for a while. I couldn't find anything better at the time for 10pt terminals.
When I was researching coding fonts for myself I've found the two I liked the most were Iosevka and Fira Code because of their ligature support (DejaVu Sans Mono is also good but typically doesn't have ligatures). The choice between them comes down to whether you value having more horizontal space (shorter lines) or vertical space. Iosevka is horizontally compressed, meaning you can fit more characters into a given window width, and Fira Code is more vertically compressed.
Also, in Visual Studio Code you can fine-tune your coding font using these options:
I really want to use Fira Mono/Code, but it sadly doesn't support italics, which is a deal-breaker for me, so instead I've been using Iosevka for a week. It's really pretty!
I ended up going with Iosevka because it's basically PragmataPro without the 200EUR ($223) price tag. I just can't justify that much for a freaking font to myself, no matter how nice it looks.
You could just buy the normal and perhaps italic weights.
If you're a software engineer, $100 on a font that you look at 8 hours everyday for a living is a no brainer. You'd probably spend $80 on a mouse, $100 on a keyboard, $120 on a good pair of shoes, $1500 on a good mattress, fonts are one of those things. If you like it, there shouldn't be a hesitation for "oh...its just a font, why should I pay for it".
Typefaces are insanely hard to design and optimize. Sometimes, it takes a couple of years to develop one typeface.
I've heard this argument many times, and it would work in a vacuum. A $100 keyboard is probably better than a $10 keyboard.
This $200 font is not better than this other $0 font, and it has the same aesthetic. And good luck quantifying "better than" given a list of feature checkboxes that are common to all "programming fonts" including Fira Code, Source Code Pro, etc.
I wasn't trying to imply $200 font is better. I think you missed my point - which is that there is a stigma associated with paying for fonts and that usually comes from the fact that people do not know what goes into development of fonts due to the abundance of free fonts available on the internet. Sure, free fonts can be great - I did not say they can't be.
One of my favorite fonts is Isoveska which is free.
I really like Terminus and have been using it for years. My problem with it is the width -- it's just takes so much space that I can't read nicely 2 files side-by-side. Does anyone know similar font just bit narrower? Fonts that have been designed with anti-aliasing in mind fall out immediately.
I may be an oddball here but I prefer and still use to this day the original IBM VGA8 BIOS bitmap font [0] for monospace everywhere including IDEs and text editors. I grew up in the late 1980s and 1990s staring at DOS text mode screens and this font was pretty much burned into my brain. Generally I try to keep it at its original 16px height and avoid any sort of non-integral scaling or antialiasing blurriness.
Fantasque sans mono is my current font, as I've been using it for over a year, as it was the only font that I really like.
It is slightly too fancy sometimes, and I go the one that renders "k" without the loop.
Huge fan of Go Mono. I was taken aback at first at the idea of a monospace serifed font, but after trying it out I've come around to appreciate the clarity of it.
I'm tempted to switch to it, since it's remarkably similar to the Gallant font (a.k.a. sun12x22 / gallant12x22) I use on my OpenBSD and Linux virtual consoles. I tried using Gallant directly, but apparently Linux console fonts don't map cleanly to X11 bitmap fonts and it caused issues that I didn't feel like troubleshooting.
I always use Dina font, except on HiDPI screens were I use Terminus. I even ported Dina to AmigaOS so I can enjoy it there as well. It is the most legible and non-tiring font for terminal/vi work for me.
Adore Envy Code R. Wish it was something I could purchase and have maintained, one of the very few customisations I make on a new box is configuring things to use it.
I have tried lots of different coding fonts for fun (and when I change fonts, it just feels like using a brand new computer :-)), but my go-to font when I just don’t want to think what I’m gonna using is SF Mono, from the San Francisco fonts by Apple[0].
It blends well with the macOS system fonts, and it’s great.
The link you posted https://developer.apple.com/fonts offers to download and install .dmg -> .pkg. I usually install SF Mono via /Applications/Utilities/Terminal.app/Contents/Resources/Fonts. This folder contains all SF Mono fonts in .otf format. If you open them and install, it vill be available everywhere. You can copy those files and install it on Windows or Linux computer.
FYI If you just want to change the 'monospace' font in Chrome, you can do that from chrome://settings/fonts and don't need an extension (I changed it from Courier New to something nicer as well).
Are capital and small letter I, large and small letter L, vertical bar |, and exclamation point !, clearly distinguishable.
Same for zero, large and small o.
Same for different brackets [ { ( <.
Same for colon, semicolon, comma, period.
If the font doesn't do this, then it's not very useful for programmers.
Extra points if multiple underscores, as in __FILE__ are separated so you can in the example count that there are two underscores before and after FILE.
I do not think you can talk about typefaces separately from talking about color themes. Different typefaces will have completely different legibility depending on the background and foreground color. Low-contrast themes are terrible for legibility, and necessitate poor choice of font and font size to compensate.
In 2017, I decided to invest some time in font-shopping; so many good alternatives had appeared since I last looked in 2009. The unexpected result was that I stopped using vector fonts and switched almost everything I do to the X Window System bitmap misc-fixed font.¹ After looking at the alternatives, misc-fixed is still the best typeface for text density and extended computing sessions. It was a typeface designed for black-on-white CRT displays in the 1980s, but works just as well white-on-black on LCD displays today.
¹ Unfortunately Firefox font picker only lists vector fonts, I did not bother to try fixing that.
> Unfortunately Firefox font picker only lists vector fonts, I did not bother to try fixing that.
Fontconfig on most distros is configured to reject bitmap fonts by default. On Debian, it's /etc/fonts/conf.d/70-no-bitmaps.conf. One way to fix that is enabling all bitmap fonts "dpkg-reconfigure fontconfig-config", which might be too much. Another is to explicitly enable Fixed in /etc/fonts/local.conf: https://github.com/stevenrobertson/rc-files/blob/master/.con...
I also use Consolas, but from time to time I have to read code on another machine or some environment without Consolas or rendering problems, and the things is: if the other font is good at first it's a bit hard, but after a couple of minutes I don't feel like it's a problem reading it. Then going back to Consolas I have almost the same experience. So my anecdotal, personal idea about this is: as long as the font doesn't suck, it just doesn't matter. Same with books: I read everyday, different fonts, not once did I think 'wow this font should be banished, it hurts my eyes' or 'wow every book should use this font'. Of course on a subconcious level there might be fonts which measurably perform better (i.e. need less cognitive processing by the brain) so: show me the evidence before claiming your font is much better than mine :)
Yup. These days a shocking number of people never test on Windows or a 1080p monitor.
Windows is my primary dev environment. I don’t think many people are even trying to look good there. So I’m not sure Consolas will ever be dethroned. Not for me at least.
I find it frustrating to objectively compare fonts when their heights and widths can vary so much.
My requirement are fairly simple:
I want the the largest & most readable font setup in 13" 1280x800 retina display, while still being able to fit at least 161 characters across, so that I can have 80+ characters in each editor in a split screen setup.
My current setup is: 14pt Monaco with 88% horizontal spacing. This gives me 181x39 characters in iTerm.
Another similar setup is Mensch @ 13pt @ 88% horizontal & 118% vertical. I like the bitstream/deja vu variations like Panic Sans or Mensch.
It's a shame you can't use bitmapped fonts - I find that Terminus at 9pts is the most legible whilst being still small on a range of DPIs. The truetype version of Terminus is truly awful and does not carry over the legibility of it's bitmapped counterpart.
Somewhere I saw a version of Inconsolata with the slashed zero. There was a site at one time that collected all the Inconsolata permutations in one place, but I don't have it offhand.
I'm revising Inconsolata, making it into a variable font, and would like to gather data on the variants out there so I can make it satisfy the largest number of users. Feel free to file an issue on https://github.com/googlefonts/Inconsolata simply stating your preference.
Until reading this and learning about Go Mono - I hadn't ever thought to look for both serif and monospace attributes in a single font. I just assumed that monospace implied sans-serif.
I personally find serif fonts _far_ easier to read and aesthetically pleasing. I've switched my phone to using Serif fonts too (though annoyed that on Samsung/Android I needed to _purchase_ a font to make that happen - not expensive, but nonetheless).
This just might move me on from Source Code Pro for all my editing purposes.
I can agree with this. It's especially wonderful without aliasing on an even multiple Retina display. For example, 2x on a 5k Monitor (iMac, LG Ultrafine) or MacBook Pro. It's simple, clean, tried and true.
I know it's mentioned in the article, but I've loved using Fira Code for awhile. It's made some parts of code much easier to read in ruby and javascript.
I think switching up how you do things from time to time keeps things fresh. Change your wallpaper! Rearrange your office! Go without syntax highlighting for a day! And, yeah, change your programming font.
Yes, for about a year now, both in the console (alacritty) and vscode, and I think it's great. Granted, I mostly ignore it, which is a good thing.
I frequently change the term emulator font size, and each size oddly changes the "aspect ratio" – for lack of a better term – of both Plex and any other monospace font. I find it weird, but it does sometimes help to have a somewhat narrower variant of Plex, especially for side-by-side terminals.
The kerning is not as tight as in a real proportional font. It's a bit more spacious and regular so that fixed width tabular layouts still look relatively decent.
I should’ve mentioned I’m using a tablet. Although there’s a convoluted method involving long-hold and the Photos app, it still only save the low-res thumbnail.
Well, I'm not sure if there's a way of doing that on iOS, but I'm on desktop now anyway, so if anyone else just wants a direct link to the full-size image, here it is:
(edit: although, nope, even opening the direct URL to the image reroutes it to the low-res thumbnail version. I just don't think it's viewable on mobile — never mind!)
Variable width fonts are generally more readable, which is why they’re generally used for prose.
Fixed-width fonts allow for easy tabular rendering in a text editor. Some programming styles use this heavily but it’s not universal. Particularly, if you rely on line-by-line blame in source control, alignment changes can make it harder to find the commit where the most recent semantic change happened.
Traditional fonts even had non-lining figures, with varying heights for easier readability. Modern-style figures were only really used for tabular display, or with content written in uppercase/title-case. (Of course, it's hard to support this kind of complex text styling when editing plain-text files that are going to be fed to a compiler, or some other text-processing step.)
But source code is very different from prose. Are there any studies on fixed-width vs. proportional readability specifically when it comes to programming?
I use Geneva for coding. Variable width typefaces are easier on my eyes. I find that my page-scanning more readily gets lulled into laziness when using fixed width. And variable width keeps me from doing goofy alignment games with blocks of similar text (e.g. lining up the `=` signs in a list of assignment operations) that I invariably regret later.
While I wouldn't say it's THAT significant, there is one other advantage to fixed-width fonts that I've experienced. Due to the fact that they align vertically, sometimes they expose mistakes if you're constructing data in a table-like fashion. Or when you have a bunch of copy/pasted lines that differ only in the parameter values. Like, "Hey wait a minute... this line is 1 char wider than the previous one. Oh, whoops, I fat-fingered something there".
I wish I had more specific examples and could quantify it better, but I know I've caught quite a few errors this way.
This exactly. Most recently I had a script that was calling functions with fixed width data sets (IDs, credit card numbers, birthdates, etc..), and typos were significantly easier to find due to the data and fonts both being fixed width.
This is because we don’t have any decent rich formatting options available for code in a plain text file. You could totally find those errors in an excel spreadsheet, and excel doesn’t default to using fixed-width typewriter fonts.
Maybe it's because I've only used fixed-width fonts for programming and have gotten used to it - but I find fixed-width fonts significantly easier on the eyes.
But would you ever read a novel using fixed width fonts? Modern typography uses variable width fonts for good reasons.
I find type writer fonts to look horrible since I’ve gotten used to variable width fonts. It’s like immediate eye strain for me. But you have to choose a good font, times new Roman won’t work.
Stroustrup uses them in The C++ Programming Language and it is made it much nicer to read.
If you're using tabs for indentation, and not trying to do pointless alignment then there's really no reason to use monospaced fonts at all - it just makes things uglier.
For those who found almost the right font but not quite, FontForge is a free and open source editor that's pretty easy to use and even has a tutorial on editing and design:
Seems a bit superfluous to suggest commercial fonts when there are so many good free ones, but I am very fond of FontFont Attribute Mono (https://www.fontshop.com/families/ff-attribute-mono) by Viktor Nübel. It's cheerful, friendly and characterful without being too eccentric, and very easy to read.
Can anyone recommend a good font which has good differentiation between lowercase letters and uppercase letters (when dealing with both lower/upper unicode subscripts and superscripts)
Presumably lowercase letters would have a rounder o, and uppercase a flatter/blockier O, i.e. all lower/upper have some differentiation, and no lowercase character where it is just a scaled down version of the upper.
I just switched to Monoid and I like it so far. But it is quite a change. Compared to my previous font (Fira code) it is really different.
This is a really hard feeling to explain, I wouldn't say that Monoid is easier or faster to read, but it distract me less. I feel like I am more focused on what I read while still being able to scan a file to find what I want.
For a brief while I tried using Comic Sans in my IDE. I did that because it was made to be super readable. It was in fact super readable, but I just couldn't get over the lack of mono spacing.
Then I switched to FiraCode and it's been great.
I still use Comic Sans in all of my chat programs though (IMessage, Slack, IRC, etc.) I actually really enjoy it.
I think most just stick with fonts they've used in the past. In my case, I can't get myself to use anything other than Apple's Terminal (which uses SF Mono). Maybe later in the future I may budge and move off of it (iTerm2 for some reason can't quite exactly get SF Mono right, even though I import it).
Ubuntu Mono remains my favorite for coding/terminals. It has a great mix of character and minimalism and of course is completely free/libre. https://fonts.google.com/specimen/Ubuntu+Mono
It’s good to see that many of these fonts distinguish well between open/close quote characters - this is a personal bugbear of mine. For example, Input Mono fails for me on this aspect. Hyphens and the two dashes are usually problematic, too - unfortunately, no examples of those in this post.
I would really like to use a proportional font that has coding ligatures (such as -> becomes an arrow). Is there such a thing? Is there a way I could combine two fonts, a normal proportional font, and the ligatures from something like Fira Code , to create a hybrid font, perhaps with a script?
There aren't yet, but Iosevka now has an experimental proportional version. It does not seem to have ligatures yet, however that might just be a question of time.
It's my favorite programming font, made by a good friend of mine. It has awesome ligatures and the italic version is beautiful, similar to Operator Mono!
An interesting font, but can't say I'm a fan of the regular 'f' extending down below the baseline. The italic style is fancy, but honestly feels a bit ostentatious (in particular I don't like the 's') to the point where I think the attempt to look pretty/handwritten interferes with its readability - especially at smaller sizes.
Easy. A basic font editor can do it. I for example experimented with changing the weight of parenthesis, thinking they're not evil in Lisp, just tuned badly for that purpose.
I really like consolas. It looks beautiful, there is no ambiguity between characters, the spacing and sizes are perfect. It comes pre installed with Windows, and I even use it on Linux, which is my primary development environment.
I'd really like to see a monospace font with variable stroke width (i.e. with stroke width contrast). Current monospace typefaces seem to converge towards a single point in the configuration space, and by now occupy a pretty narrow range of variation—rather evident in the ‘Programming Fonts Test Drive.’ My eye pines for some elegance among the ubiquitous brutish utilitarian letterforms.
Variable stroke width is really uncommon in sans-serif fonts, so that some people associate sans-serif with fixed-width strokes. But no, such fonts exist, only they are mostly used for display, i.e. big titles and posters. While monospace is not equal to sans-serif, it for some reason rejects variable stroke widths even more strongly.
Linux Biolinum is one sans-serif example that can be used as body font. It's a straightforward antiqua with serifs chopped off: http://libertine-fonts.org/show-me/
Optima is a classical example, also reminiscent of antiqua. Lucida Grande (iirc) has hints of variable strokes.
The brain begins to panic at first when it sees stroke contrast but no serifs—but such fonts do tickle me somehow, especially with modern humanist approach. It's a pity they're mostly present on loud posters. Would be splendid to have me a homely playful and eye-pleasing font in the editor and terminal.
what do you guys think is the best editor theme in bright light? I have been always using monokai but recently I have to work in bright light sometimes and it's quite hard to read.
Check out Dracula At Night for VS Code. I swear by it for every IDE possible. I'm honestly surprised it's only got around ~52k installs. I don't remember where I first found it, but I'm glad I did.
It's up now (10:04am EDT), but this is the first article on my site that has this much traffic, so it's possible the small Linode instance I use was not able to keep up.
Every font from this thread is already there in the app so you might as well just try them all.