Lesser Known Coding Fonts
vfoley.xyz
vfoley.xyz
Every font from this thread is already there in the app so you might as well just try them all.
Just to nitpick.
But I am right now going through every one of those fonts in the app to compare with the one I've used for almost a decade now.
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.
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.
My one complaint is the tilde.
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 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.
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 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.
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.
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.
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.
E.g. https://www.donationcoder.com/forum/index.php?topic=15281.0
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.*
https://www.dcmembers.com/jibsen/download/61/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.
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 am also a former MS employee, so maybe it is more of a loving criticism than appears on the surface.
I'm all for fitting a lot of content on the screen, but I don't go as far as shrinking font size to the minimum I can read.
-- 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.
That said these days I mostly use fyra code.
Looks amazing on a Retina screen, and it's quite compact on the horizontal axis, many programming fonts are far too wide for my tastes.
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.
Cascadia Code looks like the Comic Sans of programming fonts.
You can get it here: https://input.fontbureau.com
And amazingly, you can personalize your font on download, such as choosing dotted vs slashed zeroes.
Not free, but free for personal, non-commercial use. (Check the terms)
I'll try Input Sans.
- font-lock-comment-face - font-lock-doc-face - org-table (also depends on alignment)
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)
https://www.myfonts.com/fonts/tabular-type-foundry/comic-cod...
I've been using it for a few months and really enjoy it!
Also, in Visual Studio Code you can fine-tune your coding font using these options:
"editor.fontFamily": "'Fira Code', monospace",
"editor.fontSize": 14,
"editor.lineHeight": 14,
"editor.letterSpacing": -1.0,
"editor.fontWeight": "300",
"editor.fontLigatures": true,
I recommend tuning your lineHeight and letterSpacing.Both the standard and slab versions are great
For as long as I’ve been coding, I’ve never heard of this font. Thanks for mentioning it.
https://www.fsd.it/shop/fonts/pragmatapro/
Probably the most complete and polished programming font I've seen. If you like Iosevka, you'll love PragmataPro.
I've been spoiled by Iosevka and PragmataPro's narrow characters, so now I can never go back to "normal" programming fonts...
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.
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.
One of my favorite fonts is Isoveska which is free.
I would think it would have to be pretty significant, given the licensing and customisability of Iosevka.
its nice and readable, but has ligatures, which makes things like == & -> very obvious.
[0] https://int10h.org/oldschool-pc-fonts/fontlist/ - the default font for that site; I use the PxPlus variant.
https://github.com/belluzj/fantasque-sans/releases/download/...
Dina font: https://www.dcmembers.com/jibsen/download/61/
Dina font port on aminet: http://aminet.net/package/text/bfont/Dina
- Luculent, http://eastfarthing.com/luculent/
- Envy Code R, https://damieng.com/blog/2008/05/26/envy-code-r-preview-7-co...
B612 Mono would be an excellent font if the glyphs were well aligned.
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.
Also this extension is musthave: https://chrome.google.com/webstore/detail/advanced-font-sett... I set SF Mono as default monospaced font for chrome. IDK why ugly Courier font is still default in many software.
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.
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.
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...
It is a monospaced bitmap font available in several sizes, ranging from 5x8 up to 32x64.
I have tried many programming fonts. I love articles like this that expose to me to new, fun things to try. But alas Consolas is King.
Unfortunately a lot of coding fonts dont hint well on Windows, or only look good in hiDPI...
Eventually I settled on Droid Sans Mono, which I modified to have a slashed Zero.
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.
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.
I've only got two minor quibbles with it, I prefer a slashed zero instead of a dotted one, and the tilde ~ and back quote ` are a bit small/weak.
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.
"Monoid" in the linked article made me think of it immediately.
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.
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.
I wish I had more specific examples and could quantify it better, but I know I've caught quite a few errors this way.
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.
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.
Here's a 3200x1800 screenshot with some code in Emacs.
https://i.imgur.com/LdzBmpx.png
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.
Oh it seems that the mobile imgur site is totally nerfed. Sorry. Is there a better free image host?
https://i.imgur.com/LdzBmpx.png
(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!)
Related HN discussion: https://news.ycombinator.com/item?id=21303283
https://fontforge.github.io/en-US/ http://designwithfontforge.com/en-US/index.html
Editing glyphs is just like using any image editor. You can mod any existing font or even combine glyphs from multiple fonts together into one.
Then I bought Triplicate from mbtype.com and since then it's been my mono font of choice in everything. Nothing comes close on HiDpi screens
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.
would be eternally grateful.
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.
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 wouldn't say it's exactly a monospaced Comic Sans; there are substantial differences. It definitely has a lot of the same advantages, though.
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).
Bront Ubuntu Mono fixes this, but breaks other things: some letters, for unclear reasons, are weirdly stretched (see "l")
It is a very old one from the ie4 Era. Looks a bit more retro but mostly like all the other typical programming fonts.
I switched to it because I own a watch using this font and liked the idea of matching it to my system.
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!
I wonder how hard it would be for me to change just those characters.
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/
Humanistic Rosario has almost imperceptible, subliminal stroke contrast: https://www.fontsquirrel.com/fonts/rosario (The font suffers a bit from sub-ideal kerning.)
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.
5b6http://charlesleifer.com/blog/monospace-font-favorites/
Hope someone else finds it useful.
- Iosevka Term Slab - Envy Code R - DaddyTimeMono - M+ 1mn - Consolas