Rendered at 20:24:16 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
DiabloD3 1 days ago [-]
Something I never liked about this game is its showing it in your browser at your chosen font size.
Chrome (assuming you're using Chrome) draws it a specific way. This does not match how Freetype (using typical tuning) or DirectWrite draws it. Chrome's choices in font renderer tuning and blending makes it kind of split the difference between Windows-style and OSX-style, and isn't native to either.
What it should be doing is showing you lossless screenshots of actual in-app renders at different sizes. Some in Chrome (to represent the Electron apps), some in DirectWrite, some in OSX post-Retina, etc.
Some fonts look amazing at larger sizes, but are unreadable at smaller ones. Some perform exceptionally well at smaller sizes. Some look great on every font renderer but OSX's, but some only look right on OSX and look bad everywhere else.
I've sorta played this game with myself, in a semi-objective way: take a bunch of fonts, ignore the subjective art nature of them, and throw them at a bunch of common renderers and see what the optimal size is, and then sort by smallest legible size.
If we define Fira Code, the most popular code font out there, as the bare minimum, 8 of the ones I tested beat it, while 17 were worse.
Totally agree, the same fonts at the same pixel sizes often look massively different in different environments. I -love- macOS’ native font rendering, but have been unsuccessfull in emulating it on Linux :/
dylan604 1 days ago [-]
Going through this, I was introduced to <= being converted to a ligature which immediately ruled it as a nope for me. No monkey business with the characters of my code thank you very much.
jevndev 38 minutes ago [-]
I love ligatures but I wish there was tooling for context sensitive ones. This is a really good example. When developing, I love <= turning into ≤. When running a cli that happens to use <= for the start of its progress bar… not so much
dotancohen 22 hours ago [-]
This is also the first time I've noticed that some fonts have the center cane of the lower-case "m" shorter than the other canes. I love that!
Interestingly, Ubuntu Mono was the font I landed on - which is already the font that I use. At least I'm consistent.
shrikant 9 hours ago [-]
I tend to bounce around between Ubuntu Mono, Fira Code and Comic Mono. Comic Mono is not amongst the participants in this game, and my finalists were Ubuntu Mono and Fira Code, so I guess I'm pretty pleased that I've stayed consistent as well!
pmarreck 1 days ago [-]
That is usually configurable at the terminal level- for example, both wezterm and ghostty have available configs to control this behavior.
craftkiller 2 hours ago [-]
No need to rely on app-specific configs. You can disable it globally in your fontconfig. For example, this disables ligatures in the Cascadia Code font:
> That is usually configurable at the terminal level
And if you use Emacs, it's configurable at the buffer level. [1] This lets me build a version of Iosevka where `~=` and `!=` both become ligaturized but in different major modes, avoiding any confusion.
Good to know. I’ve been using ghostty and generally not a fan of the code ligatures (or just too stubborn to adapt!).
r_lee 24 hours ago [-]
I'm not either. I think it may look "cool" visually but when trying to work with code with those in it, it seems odd, like that it's a single character even though it's not and it just breaks the flow
Because most of those who commented are among those who do not like ligatures, I must present a counterpoint, to diminish the statistical bias.
Some people like ligatures, some people do not like them, but this does not matter, because any decent text editor or terminal emulator has a setting to enable or disable ligatures.
Any good programming font must have ligatures, which will keep happy both kinds of users, those who like and those who dislike ligatures.
I strongly hate the straitjacket forced by ASCII upon programming languages, which is the root cause of most ambiguous grammars that complicate the parsing of programming languages and increase the probability of bugs, and which has also forced the replacement of traditional mathematical symbols with less appropriate characters.
Using Unicode for source programs is the best solution, but when having to use legacy programming languages in a professional setting, where the use of a custom preprocessor would be frowned upon, using fonts with ligatures is still an improvement over ASCII.
pwdisswordfishy 8 hours ago [-]
A coding font is supposed to help you distinguish between characters, not confuse them for each other. Also, ASCII ligatures usually look worse than the proper Unicode character they are supposed to emulate. The often indecisive form they take (glyphs rearranged to resemble a different character, but still composed of original glyph shapes; weird proportions and spacing due to the font maintaining the column width of the separate ASCII code points) creates a strong uncanny valley effect. I wouldn't mind having "≤", "≠" or "⇒" tokens in my source code, but half-measures just don't cut it.
brikym 19 hours ago [-]
This is optional. There is a checkbox on the site to disable ligatures.
iNic 1 days ago [-]
I like most ligatures, I wish I could selectively turn off just this one.
pietervdvn 1 days ago [-]
I don't like them as well. On this site, you can disable them with the checkbox on the top-right
smohare 15 hours ago [-]
[dead]
torgeros 1 days ago [-]
Knowing that everything in here is people asking why their font is missing:
I highly recommend having a look at
[ MAPLE MONO ]
(on Github https://github.com/subframe7536/Maple-font).
It has amazing readability, looks nice, is compatible with NF if you use that.
I received compliments from people looking over my shoulder for my f'ing font?!
Huge shoutout to subframe7536 ^^
hayleox 2 hours ago [-]
That dollar sign is awful. I kinda dig some parts of this, but my brain simply doesn't parse that as a dollar sign; it requires extra thought to recognize it.
ksymph 1 days ago [-]
While we're dropping lesser-known coding fonts, here's my favorite, Lotion [0]. It's cute and playful but also very legible and clean.
First Maple and now this. Today is good day for trying new fonts.
BugsJustFindMe 22 hours ago [-]
The slant and connective distance of the cursive italic l are noticeably different than of the other letters, so every word that includes one is very jarring.
It looks like they naively aligned the slant of the leftmost edge at the mid-height of the glyph, which is not the right way to optically align shapes, especially for a symbol with asymmetric curvature (the leading face of the loop leans substantially more than the trailing face). And then in addition to that, a too-wide arrangement when adjoining ("ul", "ll", etc) causes excess dead space around adjoined pairs.
You see this quite strongly in the "null" that appears on line 5 in their example screenshot. The two "l"s both appear to lean more than the "nu", and the "ul" has more internal space than the "nu", and the "ll" has even more than that.
kccqzy 23 hours ago [-]
I don’t like it. It looks amateurish in the same way Comic Sans looks to me. I suppose you’d love this if you also enjoy Comic Sans.
Consolas at least looks like a serious type face. This one has letterforms so rounded that it screams playful without any seriousness.
amanzi 1 days ago [-]
I've been a long time Fira Code user, but recently switched to Maple - I love it. Mostly because of the "single storey" `a`, but that's just a personal preference of mine.
ss141309 19 hours ago [-]
Fira Code does have a "single storey" a. You can activate it by passing the "cv01" feature flag to your text editor of choice. (If the text editor supports otf font features)
What do you like about it? I like that the I and l are distinctive, and of course the distinction between 0 and O. However, there are some nice letter differentiators that it is missing, such as a shorter middle cane in the letter "m" (Ubuntu Mono has this for example).
rounce 12 hours ago [-]
Incredibly jarring lowercase 'a' in that. Far too prominent to the point of affecting readability.
metalliqaz 24 hours ago [-]
Italics turn into cursive... I cannot imagine ever wanting this in my IDE, but that's just me.
antisol 22 hours ago [-]
I know right?! And apparently only certain letters become cursive in italic, so it's not even consistent about it?!
This seems bizarre to me, I do not understand the rationale behind it. Can someone enlighten me?
pwdisswordfishy 8 hours ago [-]
"Italic" does not merely mean "slanted".
theSuda 22 hours ago [-]
Checked it out and instantly liked it. Been using Cascadia Code for years. Will give this one a try now. Thank you!
aktenlage 23 hours ago [-]
Woa, that's a weird @ in the screenshot in line 6.
antisol 22 hours ago [-]
I had to look very hard at the line to recognise it as an @ because it's so weird.
chris_st 1 days ago [-]
Seconding Maple Mono - it's very nice.
Bootvis 23 hours ago [-]
> Nice
< Look at the tasteful colouring. The tasteful thickness of it. Oh my God.
sedatk 1 days ago [-]
Berkeley Mono, Iosevka, and Cascadia Code are missing which are my favorite fonts. The game handed me Roboto Mono instead.
What I noticed while playing was that when fonts are similar, I really pay attention to the rendering of "m" and "r". When they look off, the whole font looks off to me.
pmarreck 1 days ago [-]
Berkeley Mono was the first time I bought a font.
It's so good. Perfect even. And they have a really neat customization tool.
I've been using it for a few years now and they actually still occasionally release a new version of it. Haven't gotten tired of it yet.
The only complaint I have about it is that I had to do a hacky workaround to get my Nix setups to pull it in since it's proprietary.
It's really funny that after going through all those fonts it landed on Ubuntu Mono for me which is what I use anyways to code in my terminal.
I wonder if it's Stockholm syndrome or if I really do prefer it. It's a totally fine font, I've never felt the need to change it. All the default open source mono fonts seem completely adequate I suppose.
spankalee 16 hours ago [-]
I love this, but I really wish it were structured as a "Hot or Not" type of round robin system rather than a bracket.
Some fonts are close enough that I don't know if I'd choose one over the other consistently, and I'd be curious to see a percentage score of how much I like a particular font.
crazygringo 7 hours ago [-]
Totally agreed -- there are so many different factors involved in each comparison, and I feel like I'm easily paying attention to different things on each comparison.
Unfortunately, I don't believe there's any established algorithm for how to repeatedly sample pairwise preferences to convert them into a strict ranking, which would ideally be with an active learning component to really drill down into the comparisons that are the closest. Would be a fascinating thing to try to develop, though.
Cream is a very distinctive font. It’s perfect for Smalltalk. In the 1980s I remade it for the Apple II to be used in a game. Obviously very little text would fit on the screen it was used for.
card_zero 1 days ago [-]
I was intrigued by a font called Codemonkey. This site has lots of classic comic fonts, including WildWords which is used in pretty much every manga translation.
Unfortunately plus signs display as blank spaces in the test drive. Oh well.
other_herbert 1 days ago [-]
Comic Code Ligatures for me :D
dunham 1 days ago [-]
Yeah, a few years ago I tried the free ones, but eventually settled on Comic Code. I've been using it ever since - it's pleasant to code with. (If anyone is considering this - the "essentials" set with bold/italic is around $30. You don't need the full set.)
speedgoose 1 days ago [-]
Same. It has a double-storey a, which I prefer a lot.
sodimel 12 hours ago [-]
(I may also add that I'm using synthwave 84' in vscode, which adds neon effects on my code using text-shadow)
rbanffy 11 hours ago [-]
It's fun when we use software (and prodigious amounts of computation) to emulate the things people complained the most about in old hardware.
nvahalik 1 days ago [-]
I initially used this one when I started playing around with Zed on a personal project, but I kept it and it has grown on me considerably.
vladde 1 days ago [-]
similar situation here, but i used it because i thought it was funny... then kept it because it grew on me haha. had it for a few years, might give it a spin again
john_strinlai 1 days ago [-]
i like that way more than i would have thought simply based on the name.
deepriverfish 1 days ago [-]
I use comic mono myself
1 days ago [-]
bolp 1 days ago [-]
Thanks, I hate it.
dhorthy 1 days ago [-]
diabolical
ludamn 12 hours ago [-]
[dead]
JasonSage 1 days ago [-]
I enjoyed this, though my font preferences are pretty stable.
It would be nice if it showed you 1st, 2nd, semi-finalist, quarter-finalist...
It would also be nice to see progress of some kind, a few minutes in I was wondering if I was near completion or just getting started.
croemer 1 days ago [-]
It does show you on the left. Just not on the certificate.
Izkata 1 days ago [-]
> t would also be nice to see progress of some kind
It's hidden behind the menu button on mobile.
KronisLV 1 days ago [-]
Nowadays I use a lot of Iosevka. Previously I was on Ubuntu and JetBrains Mono, both are great fonts. A bit of PT Mono as well, even Terminus for a bit. One of my favorites has got to be Liberation Mono though - the most readable font I’ve ever found, even if Iosevka lets me put more stuff on screen horizontally. Oh also I’ve started enjoying Cascadia Code recently, surprisingly pleasant.
craftkiller 1 days ago [-]
Yeah I was disappointed that Cascadia was not in the fonts on the site. What won me over for Cascadia was: I decided to try it for a couple weeks. By the end, I was certain that Cascadia must be larger than my previous font because it was so much easier to read, so I opened two terminals side-by-side and counted the rows+columns that fit between my old font and Cascadia. To my complete shock, Cascadia fit a couple more lines on my screen, indicating that it was actually _smaller_ despite being easier to read.
delecti 1 days ago [-]
I clicked this link with the thought "I'm curious, but I don't think I really have strong opinions about fonts", and was almost immediately proven wrong with the revulsion I felt at Xanh Mono.
Though it turns out that VS Code default (Droid Sans Mono) is (to my eye) basically identical to my winner (Roboto Mono), so the exercise was mostly academic.
beacon294 22 hours ago [-]
I had the same but I am thinking of updating to see if I can optimize my terminal a bit. Roboto has font weights, and probably has a better emoji pack, although that's just a guess -- maybe google doesn't tack on emojis by default.
wanda 6 hours ago [-]
Landed on Cousine in the end, which is the font I tend to use.
Fira Code came in second, and that's fair, I've used it on occasion, I like it.
I feel like Chivo Mono[1] would make a decent programming font — if a programming version of it were to exist, anyway.
I also like Go Mono[2], and although they're rather different to what I usually go for, I can see the appeal of the M+ mono[3] fonts.
For those of a more whimsical inclination, Fantasque Sans Mono[4] seems like it might be cool for you.
Wow JetBrains Mono to me is the furthest thing possible from Iosevka. I use PragmataPro (which Iosevka is extremely similar to) and I hate JetBrains Mono for feeling so large compared to the compact characters I'm used to.
joch 13 hours ago [-]
PragmataPro looks great, thanks for the tip!
I didn't necessarily select the one closest to what I currently use in the game, but more looking at the shapes of different characters to see what looked the "nicest".
johng 23 hours ago [-]
This is also my favorite. Though there are many different versions of Iosevka now.
joch 13 hours ago [-]
I go for the Iosevka Nerd Font Mono these days to get the nice icons everywhere.
Ended up with Victor Mono and indeed, I used that font for years before switching to Iosevka.
The game certainly needs a progress bar (I tried on iPhone) and option “there’s no chance in world that I will ever use any of proposed options”.
Funny enough I realized that every several years I oscillate between trying to get readable narrow fonts (that brought me to Iosevka) and wide ones (Azeret Mono, anyone?)
aidenn0 18 hours ago [-]
Victor Mono made it fairly late in my rounds, but the "@" character looked terrible as rendered in firefox. It looks a bit better in my terminal, which points out to a downside of this that others have observed.
aquir 1 days ago [-]
For me it's Berkeley Mono...I was unable to find anything that comes close to it. But this games is fun and the result is a font that is similar to my favourite
sevg 1 days ago [-]
Another Berkeley Mono user here!
I came from Fira Code to JetBrains Mono to MonoLisa (several years each) then finally settled on Berkeley Mono and refuse to use anything else!
TymekDev 1 days ago [-]
I have been on JetBrains Mono ever since it's release. I am getting FOMO from not using Berkely Mono, because it totally looks like something that would sit right with me.
zimpenfish 10 hours ago [-]
My favourite* bit about this thread is the number of times I've gone "ooh, that looks like a nice font", downloaded it, unzipped it, and loaded into Fontbook which has promptly gone "you already have this one DUMBASS".
Don't get old, kids, it sucks.
squid_ca 9 hours ago [-]
It’s better than the alternative :)
jordanscales 10 hours ago [-]
Nice work! I wish rankings were done with an Elo score. I was worried of regretting my choices sometimes (single elimination?). Would require a lot more comparisons to arrive at stable scores, but the interface is nice I wouldn't mind.
regus 1 days ago [-]
As I get older I prefer the text on my screen to be bigger than usual. Most websites tend to have super small fonts for some reason.
For coding I much prefer fonts that are bold and easier to read. Who actually likes these whimsical cursive looking comments or super thin looking fonts?
I ended up with "Roboto Mono" btw.
silon42 13 hours ago [-]
Same here.. Overpass Mono was chosen for me, but several were quite close.
Also, black backgrounds require bolder fonts.
trinari 1 days ago [-]
uh isn't the font size kinda independant from the font style?
SAI_Peregrinus 1 days ago [-]
Not entirely. The font "size" is the height of each character, not the width they take up or the stroke thickness. So some fonts will have narrow characters & display more characters horizontally than fonts with wider characters.
lstodd 1 days ago [-]
It is, but noone serious has time for appreciating latest trends in web typography, so we just hit the reader mode on load.
akarlsten 1 days ago [-]
Cool, obviously a lot of people are going to quibble about the default lineup (wheres Iosevka?) but for anyone who hasn't nailed down a preference it seems great!
MarsIronPI 1 days ago [-]
Iosevka might be difficult to add because it has so many options. Then again, that's why I use it.
I stopped looking for fonts after I got comfortable tweaking the metric settings of Iosevka. My current setup exports a set of really compressed cuts (more compressed than Pragmata Pro) which I've always found hard to come by.
I'd love to see a page which tracked stats for what the majority of users were picking
0x457 1 days ago [-]
Surprised that I picked Oxygen Mono over Noto, but probably because I wasn't aware of Oxygen.
Would be nice to be able to play it with my own fonts because some got eliminated purely because 0 (zero) looked like O (letter). Fira Code was a winner only because there weren't paid fonts that I use.
whynotmaybe 1 days ago [-]
Exactly, it's not really a "coding" font if 0 is like O
__fst__ 23 hours ago [-]
For me it was a close finish between Fira Code and RedHat Mono.
I mostly look out for
* no <= or === ligatures (i still like to see the separate characters)
* 'i' vs 'l' vs '1' (I now mostly prefer fonts where the lowercase 'l' has the righthand bend on the bottom)
* dotted zero vs slashed zero (i prefer the slashed zero, but dotted is fine as well)
oxygen_crisis 11 hours ago [-]
> * dotted zero vs slashed zero (i prefer the slashed zero, but dotted is fine as well)
The most shocking revelation that I took from this game is how many coding fonts think it's acceptable to neither slash nor dot their zeroes.
I can't imagine using one of those fonts that leaves 0 and O nearly indistinguishable.
tom_ 20 hours ago [-]
Well, I appear to be the only person that likes Nanum Gothic Coding. (Though I typically use Input Mono - not present in this site's set of fonts.)
The semifinals for me with ligatures enabled were Inconsolata vs Cousine, and Nanum Gothic Coding vs Xanh Mono. With ligatures disabled: Xanh Mono vs Nanum Gothic Coding, and Share Tech Mono vs Roboto Mono.
It'd be nice if you could click the various fonts in play at the end, to see them again and compare them against one another. (Regarding comparing images against one another: https://news.ycombinator.com/item?id=46954055) I had specific metrics that I was going for, but sometimes it was marginal.
mosburger 1 days ago [-]
I got Source Code Pro. My daily driver is currently 0xProto, but I didn't see that in the game (admittedly I think it's kinda rarely used).
brandonasuncion 1 days ago [-]
I got the same result. I usually use Monaspace by GitHub. Interestingly, they both use texture healing.
One nit about the site: the screen elements forced me to make my browser window more than half the size of my screen, and I use a 3840×2160 monitor. My windows are normally about ⅕ the size of the screen and roughly 4:3 ratio shaped. It was nearly unusable like that (I don't suffer issues from almost any other site.)
On the game/bracket: it narrowed me down to Noto Sans Mono and I'm honestly not surprised, it's one of the few fonts that comes with my operating system that I find acceptable.
That being said, what I actually have my terminal and Emacs set to is “AcPlus IBM VGA 8x16” from https://int10h.org/oldschool-pc-fonts/. I've always been fond of the VGA font and it tickles all the right usability marks for me.
VorpalWay 22 hours ago [-]
Terminus TTF[1] is my favorite monospace font. The key thing for me is that it is actually a bitmap font, which means it is sharp and crisp. I get headaches from most types of anti-aliasing on traditional low DPI monitors. The colour bleed from subpixel AA is awful, but even most grey scale AA (except when using full hinting as well) is just so blurry.
Unfortunately they seem to have missed it on this page.
Oh this is really cool, I did it and I landed on the font I've been using for years now: "Fira Code".
coldcity_again 1 days ago [-]
I got PT Mono in the game, but this gave me the kick I needed to remember about ProggyClean[1] and track it down. Used to love it many years ago, time to give it another spin and see if it holds its own.
It's rigged; Consolas isn't even a contender in this game, and the example text has no lowercase italic 'k's, which are its best glyph.
Crespyl 19 hours ago [-]
I landed on Inconsolata, which makes sense as it's directly inspired by Consolas. I already use Inconsolata most places, since I'm not usually on Windows.
lemontheme 1 days ago [-]
Lately I've taken to Iosevka, the 'curly' variant to be precise. Even though I hated it when I first tried it, I revisited it because I was noticing that, with coding agents running in the same window, I wanted to be able to see more at a glance. With Iosevka's semi-width glyphs you can just fit a lot more in the same space. Took a day or two to get used to its slender appearance. Now every other font feels unnecessarily w i d e
deepriverfish 1 days ago [-]
A few years ago I found comic mono and monofur for Powerline. I switch between the 2 when I get bored of one or the other. I decided I won't try any new fonts, it's a waste of time for me and I hate having too many options to choose from, not only fonts but basically everything else too, it's distracting. Same for my editor's theme, I switch between Braver's Solarized Light and Radical.
This way I can focus on coding and less on tweaking my environment.
TacticalCoder 1 days ago [-]
> This way I can focus on coding and less on tweaking my environment.
I made myself my own pixel-perfect perfect font, more than 10 years ago. I simply copy it from one system to the next one when I upgrade (either the machine or the OS).
It's basically a modified pixel-perfect Terminus font, but with some elements mixed from an old pixel-perfect Monaco font and some modification of mine.
Something I cannot live without is a tall pipe symbol. And my pipe symbol must have a hole in it in the middle (and it cannot be mistaken for an exclamation mark).
I've got the following as a quick test. The reason for a,b,c,e is to verify that <>,{},[], etc. all perfectly align vertically.
Everything is correct, to the pixel.
I don't believe in anti-aliasing for a coding font, not even on a retina display, and I love my 3840x1600 pixels 38" monitor and it's pixel size is perfect to me.
RA $|-sSTtf the little fortran
gqy z2Z s5S 8B CG6 DO uv ;; these should look different (8 / B is difficult to get right)
a!?aA! [a]
b!?b {b}
c?!d (c)
c?c <e>
c!c
if ( a && b || c & d) { [0x88, 0x42, 0xFA, 0xdeadcafebabe]; }
*if ( a && b || c & d) { [0x88, 0x42, 0xFA, 0xdeadcafebabe]; }*
;; found somewhere
lnt foob1x -= {(0)} "'foo'bar";
int foOblx == ((0)) 'foo`bar`' `"':
|nt f0obIx += {{o}} '"O08! LIl1i!!| 7?
the lowercase 's' has a shorter upper bar and the lowercase 'l' is stylised.
The thing is: I obsessed for days, creating my own pixel-perfect font. And I don't need to tweak it anymore: it's perfect (to me, YMMV) and I use it ever since.
Can't share it as I reused both Terminus and chars from Monaco.
FWIW I had more than 10/10 eyesight (once you get at 10, there are additional tests) and in my entire life I've never seen one person beat me at the "read sign on the highway". Pixel-perfect font, no AA, custom made font for me. YMMV. Haters gonna hate.
enriquto 1 days ago [-]
I'm probably your twin, separated at birth... may you share your bitmap font?
> I don't believe in anti-aliasing for a coding font, not even on a retina display
This is a very good point. As resolution increases, antialiased fonts become less ugly, but also less necessary. Thus at no resolution they make any sense; but they look ridiculous for different reasons.
tmtvl 1 days ago [-]
The font I use, IBM Plex Mono, I chose not because I love the font, but because it's the one I love most of the fonts with CJK variants (which basically means IBM Plex, Google Noto, or Adobe Source). It's unfortunate because I really like Libertinus (a rare serif monospace font), but trying to match different non-CJK and CJK fonts that work well together is annoying.
hysan 19 hours ago [-]
Dunno how long this is normally supposed to go but it took me 10+ min of actually seriously considering the fonts at each choice and the final suggestion is a font that I actively dislike. I’m curious how it’s narrowing things down because I noticed that it started to give me only serif fonts which I don’t like. But the sans serif ones that it was using to try and narrow things down had distinct characteristics that I didn’t like like very narrow stems or very narrow or wide characters. But it wasn’t doing that with serif fonts. I’m guessing it began to think I preferred serifs because of that but in reality, I wasn’t picking the lesser of two evils most of the time.
croemer 12 hours ago [-]
It's just a tournament, the winner goes to next round. Play it fast, all the way to the end and you'll see how it works. It's some 16 or 32 rounds all the way.
column 11 hours ago [-]
Typo : Webiste URL
The site is unusable on mobile even with desktop mode
In desktop mode the instructions to use the arrows appeared only after I zoomed out, they would gain from being part of the top banner
Would be nice to have the final listing :
1st place, second place, joined third
genpfault 1 days ago [-]
Doesn't seem to serve rendered samples so you have to set "browser.display.use_document_fonts" to "1" to see anything useful.
speedgoose 1 days ago [-]
I think it also requires internet access, so you have to enable internet.
jeffbee 1 days ago [-]
Which is the default, and 99.9% of Firefox users, 99.99% of all users will not have this issue.
Ended up with Hack, but it is missing the font I use[1]. I think I could live with hack.
It's amazing to me how many of the fonts in this bracket have lower-case ell and one as nearly identical (both with a line at the base and some protrusion to the left at the top).
On improvement would be to allow scalling different fonts to different sizes. With them all at (e.g.) 16pt, there is a wildly different amount of text on the screen.
That's very nice and I ended up with the same font I tend to use (Source Code Pro) vs the font I used before (Noto Sans Mono). Some features I'd love to see:
- An ELO-based version with many more variables, so that I can open the site from time to time and find more nice fonts
- Some global stats
- Not losing the leaderboard after reloading
- Spline Sans Mono
Surac 1 days ago [-]
Source Code Pro was my winner in this test. I use Iosevka on a regular base
oneneptune 1 days ago [-]
Courier Prime won for me, I've always been a courier fan I guess because I wrote all my books in the 90s with it..
leokennis 7 hours ago [-]
My favorite coding font is the one that is pre-installed on my work laptop because I cannot install additional ones...
So Aptos Mono or Consolas it is.
efortis 1 days ago [-]
If you prefer proportional fonts, here's one that pads a 1/3 of a space before uppercase letters, so it makes camelCase more legible.
Anecdotal solely to me, very unnerving and even with formatting marks enabled makes me feel uneasy seeing a space without a space formatting mark.
efortis 1 days ago [-]
yep, sometimes I switch to mono before sharing my screen
flkiwi 1 days ago [-]
It's ... weirdly validating that what I ended up with is what I actually use (Source Code Pro).
nikitadotla 1 days ago [-]
Ubuntu Mono. I have been using JetBrains Mono for last 2 years and surprisingly I rejected it in a second iteration.
saghm 17 hours ago [-]
Last time I took this I ended up with the exact font I already use, and I realized that it was because I was basically picking whichever font was closer to it on each choice. Because I also enforce my fonts of choice on my browser, I guess it's just the only font I've read code in for so many years that it's just "what code should look like" to me.
thetwentyone 1 days ago [-]
I wish it had my favorite in it so that I could do a blind test to see if it really is my favorite: https://juliamono.netlify.app
foresto 1 days ago [-]
Neat.
I wish the sample text included _underscores_, since I have occasionally found that they disappear with certain combinations of font + size + renderer.
And a run of all the numeric digits 0123456789, to show how their heights align.
And [square brackets], to show how easily they are distinguished from certain other glyphs.
And the vertical | bar, for the same reason.
...
Adobe Source Code Pro and Ubuntu Mono were my finalists. I think my preference would come down to window and font size, since Ubuntu Mono seemed to be narrower and leave more space between lines.
(Also, I kind of rushed the first few comparisons, so it's possible that I prematurely eliminated a typeface that I would have liked more.)
aidenn0 18 hours ago [-]
You can modify the sample text
_kidlike 7 hours ago [-]
interesting... for me JetBrains Mono won, which is the one I already use. But I discovered Atkinson Hyperlegible, which looks awesome for reading books. I guess I have a minor reading issue that I wasn't aware of!
sirentdiver 19 hours ago [-]
As expected, I landed on my current and favourite font, Inconsolata.
I remember seeing another font that I liked but I didn't manage to check what font it was before the game showed the winner. Looks like I have to play it again. Not on mobile at least, the webpage was hard to interact on Android Chrome.
lordgrenville 1 days ago [-]
Nice idea, would be good to add a third option for "these look indistinguishable" (and then I guess they could be bundled together in later stages).
timeinput 1 days ago [-]
IBM Plex Mono -- I guess no one ever got fired for choosing IBM?
kleiba 10 hours ago [-]
I'm on board.
But in general, I think obsessing over the monospace font you use for coding is, ultimately, bike shedding. I've used a lot of different fonts over the year, not because I was trying to find the best one, but because I used the default font of whatever tool I was using at the time, and - guess what - I was fine with it every time.
rbanffy 11 hours ago [-]
I prefer the original, from the 3270 terminals.
sneak 1 days ago [-]
IBM Plex Mono Ultralight is a joy to look at on a high DPI display.
mrweasel 1 days ago [-]
Do you mean Extralight, I can't seem to find the Ultralight. It's probably just my eyes getting older, but I start to prefer chunkier fonts and 18pt.
Plex is a beautiful font, and one of the few corporate fonts that I actually think works, while being recognizable as being IBM.
msephton 13 hours ago [-]
I landed on IBM Plex Mono my long time favourite. Thought these days I use MD IO Trial, which is close but better in a few key ways imho.
abound 1 days ago [-]
Obligatory shout-out to Berkeley Mono [1], which understandably isn't on this site because it's a paid font. I really enjoy the customizer that comes with it, I use the font on all my terminal/IDE environments, as well as on my blog.
(FWIW, I just did the codingfont bracket and got Source Code Pro, which I've used in the past, along with Iosevka and Commit Mono)
Nothing comes close to Iosevka for me, after using it for a while it's hard to find the same mix of narrow+readable.
brikym 19 hours ago [-]
I discovered I do not like a foot on my l's. Ubuntu mono won. But it also didn't have any of the fonts from VSCode I'm on now which are very similar (Menlo, Monaco, 'Courier New', monospace).
starkparker 1 days ago [-]
I already use Inconsolata but had customized it to a point where I didn't recognize it here. It won anyway. Validation!
ralferoo 1 days ago [-]
It told me I should use Incosolata. I've used Consolas for as long as I can remember, so I guess they must be pretty similar.
Also, about half of these fonts look utterly unsuitable for coding to me. Nobody really needs serifs and loopy l's in a coding font, surely?
mileshilles 8 hours ago [-]
Been using Google Sans Code for a while, loving it so far :)
veltas 12 hours ago [-]
Why not Deja Vu Sans Mono? That was the default for years and it's what a lot of us are used to.
embedding-shape 1 days ago [-]
Doesn't it kind of default the purpose if you can't see it in the actual environment you'd be using it? I know the differences are very minor between terminals and browsers when it comes to font rendering, but this seems like a tool that should be a plugin with the editor people are intending to use the font with, rather than a website.
admiralrohan 7 hours ago [-]
Why Cascadia Code is missing? But very good concept.
I found this somewhere on the internet. Haven't been able to know what this font is.
cweagans 19 hours ago [-]
Can you please make an image that is like 10x bigger? Like 30px font and include all the alphanumeric characters? This font looks so familiar.
stared 1 days ago [-]
I like, as it is quick to decide, and you can see font names afterwards (some indeed looked similar).
At the same time, it would be wonderful if window sizes were more consistent (now things are obstructed, with scrolling, etc). And I would love to download the ranking graph!
15 hours ago [-]
davidpfarrell 1 days ago [-]
Because I'm lazy, and forgetful, I went back to my comment from a previous time this was posted:
I want to see the stats for this - which one gets chosen the most?
rbanffy 1 days ago [-]
Sadly, IBM 3270 is missing from the lot. How can I write professional looking code that lasts a lifetime in anything less?
I also remember some nice ones designed to look like a smoothed VT-220 one.
amstan 21 hours ago [-]
I want my time back :D . Here I was picking things that i liked the most, and it gave me Ubuntu Mono, a font I already have selected in my editor.
stackghost 21 hours ago [-]
I ended up with Roboto Mono, a font I used to use before I switched from Linux to Mac for my daily drivers. I'm not the kind of person who can identify a font by name simply by looking at it, so I was pleasantly surprised! I chose it more or less at random back in 2012.
yoyohello13 1 days ago [-]
Every time something like this comes up I always end up with JetBrains Mono.
sibtain1997 4 hours ago [-]
Ended up with jetbrains mono too, which is what i use anyway. Funny how you just end up defending whatever you're already used to
tzot 22 hours ago [-]
I tried this variant of JetBrains Mono and it had the perfect glyph width (reportedly -6%) for my screen and window sizes: NRK Mono Condensed from https://github.com/N-R-K/NRK-Mono. I also agree with almost all of the other modifications mentioned in the github page under “Some notable changes are:”
Now I can have side-by-side two editors plus a Structure or Project pane at the left in PyCharm while having 120 chars visible in both editors.
yoyohello13 21 hours ago [-]
Neat! I'll check it out.
phplovesong 1 days ago [-]
Been running Berkeley Mono for years. Before that i flipped fonts and theme like every week. I sometimes wish you could not change font or color theme at all.
doodpants 1 days ago [-]
I can sympathize; I shudder to think of how many total hours of my life I've spent tweaking fonts in my text editors.
That said, these days I almost exclusively use Input Mono [0], specifically the "Narrow" variety. With an occasional sprinkling of either Iosevka Fixed or PragmataPro Mono.
Neat educational game. Would have liked to see Maple Mono in the line up, but I'm sure you've gotta draw the line somewhere or the game would be too tedious.
michaelcampbell 1 days ago [-]
Fun. Interestingly the one that "won" for me isn't the one I normally use, which was one of the candidates, but I have used it a lot in the past.
croemer 1 days ago [-]
Played it twice to see if it's reproducible. First time, Fira Code; second time Source Code Pro. Source Code Pro came in second first time round as well. Been using Fira Code until now.
voidUpdate 13 hours ago [-]
Nice to know i'm already using my result, jetbrains mono
userbinator 17 hours ago [-]
I got Anonymous Pro, which is close to my usual font: misc-fixed 6x13 with a slashed zero.
delta_p_delta_x 1 days ago [-]
This kind of breaks for me because I identify all the familiar fonts quite quickly—Consolas, Inconsolata, Iosevka, JetBrains Mono, Fira Mono/Code, Menlo, SF Mono, Courier...
stephc_int13 1 days ago [-]
Got Jetbrains Mono. Not a surprise as I used this font for a long time and I still use it for my terminal font.
But I prefer (and use) PragmataPro (not free) and it is not part of the test, sadly.
dukezzz 7 hours ago [-]
Fira Code, as expected
hrimfaxi 1 days ago [-]
This is like an eye test for choosing a font, great idea!!
naikrovek 1 days ago [-]
If only it showed fonts that I like.
I eventually had to buy one I liked, and non-free fonts won’t ever show up in sites like these.
(It’s called “Codelia” if curious.)
articsputnik 11 hours ago [-]
the winner of mine was Inconsolata, tough my favorite font, Iosevka, was not even part of the sample :)
joshu 17 hours ago [-]
brackets aren’t really the best way to figure this out, is it? makes a lot of assumptions about human preferences that probably don’t actually hold. something like ELO might be better.
vova_hn2 1 days ago [-]
Is it weird that I look at most of the offered pairs and think "meh, both are ok, I guess", but do not feel any preference one way or the other?
Like, some fonts look to weird/unusual that I dislike. But most look just fine and I don't really care.
Am I weird? Do I lack taste?
GuB-42 1 days ago [-]
It is all about the details:
- Ligatures or not
- *: in the middle (better for things like multiplication), or high (better for things like C pointers)
- Alignment of =, >, - some fonts align -, = and > to that "=>" and "->" look good, others will not, making it arguably look better in isolation, others will optimize for ligatures
- The "i" may look significantly different, some will prioritize consistency, others will prioritize making il1I look distinct. Same idea for 0/O
- Aspect ratio, do you want a wide font, making alignment, indentation, and special characters clearer, or a narrow font, allowing you to cram longer lines into a single screen.
These are compromises, and depending on your style and language, you may prefer one or the other.
bigstrat2003 1 days ago [-]
No, not weird at all. I can't even imagine caring about what font one uses for programming.
adityamwagh 1 days ago [-]
My favourite one is Iosevka Extended.
5 hours ago [-]
airstrike 1 days ago [-]
please add TokyoNight and its variants. I can't imagine using any other theme!
vindex10 1 days ago [-]
Thanks! A lot of fun!
I'm using Liberation Mono, and it's missing :( i got PT Mono though.
jkbowa 16 hours ago [-]
would be nice to pick the language too
ranger_danger 1 days ago [-]
Fira Code for me.
gkhartman 1 days ago [-]
Same. Came down to Fira Code and PT Mono. I already use Fira Code, so I probably biased to what I'm used to. I do think that Fira Code is hard to beat when it comes to ambiguous characters.
techwizrd 1 days ago [-]
I also got Fira Code, followed by Ubuntu Mono, Source Code Pro, and Oxygen Mono.
eahm 1 days ago [-]
I always end up with Consolas, Ubuntu Sans Mono and Hack.
dmd 1 days ago [-]
I was pleased to find that I chose the font I actually use.
Measter 1 days ago [-]
Hilariously, I had the exact opposite. I use Fira Code, which I eliminated in the first round.
metalliqaz 24 hours ago [-]
Same, or at least the closest one (Iconsolata for Consolas)
diehunde 1 days ago [-]
Did the whole thing. I got IBM Plex. Actually looks great
whalesalad 1 days ago [-]
This is my daily driver, although recently I have been enjoying Cascadia Code for something fresh.
cafebabbe 24 hours ago [-]
Aaah, Ubuntu Mono, i found you, you little rascal
1 days ago [-]
tasuki 1 days ago [-]
There are some good choices, but also some atrocious ones. My favourite coding font[0] is missing.
Not bad. I picked First code which is acceptable. My fav though is 0xProto, which has ligatures that still maintain separation between the symbols and is otherwise a very nice, legible font.
antisol 22 hours ago [-]
This is cool!
Suggestion: I'd like to have an option to exclude fonts without ligatures from the game. And it seems there are others who don't like ligatures who would probably like to be able to exclude fonts with ligatures. You could also do this for other features like serifs.
weakened_malloc 14 hours ago [-]
> Ctrl + F
> "Google Sans Mono"
> 0 results
I'm disappointed in you today, HN
Levitating 1 days ago [-]
I got Cuisine, I was trying to get Hack.
j45 1 days ago [-]
This was a pleasant surprise to enjoy, I was surprised to discover a font I wasn’t aware of.
Seeing all the fonts listed here it would be great to be able to add user submissions into the mix.
fortyseven 1 days ago [-]
It works -- by the end I was facing off against my two favorites. ;) I CAN'T CHOOSE.
jbverschoor 1 days ago [-]
Fira Code
WhereIsTheTruth 1 days ago [-]
JetBrains Mono
That's the one i have been using for many years, look like i made the right choice
cyanydeez 1 days ago [-]
I don't need this many rounds to determine it. There should be "neither" to limit the weird fonts that will never fly.
0xdeadbeefbabe 1 days ago [-]
I'm tired of colors. I wonder if I hate them all or just haven't found the perfect one.
grigio 1 days ago [-]
ubuntu mono, fira code
bensyverson 1 days ago [-]
Can we just talk about how good Source Code Pro is?
coreyburnsdev 14 hours ago [-]
Cascadia. Jetbrains. Fira. All you'll ever need.
krunck 1 days ago [-]
Roboto Mono for the win.
Arn_Thor 1 days ago [-]
Roboto Mono, apparently
gnarlouse 1 days ago [-]
I got Anonymous Pro
pohl 1 days ago [-]
Same. I guess I'll have to try it.
13 hours ago [-]
proxycon 23 hours ago [-]
another comment about favourite font missing: departure mono
journal 23 hours ago [-]
am i the only one who sticks to defaults, mostly?
askl 1 days ago [-]
Wow, some of these are looking atrocious. (Victor Mono, Syne Mono, Nova Mono)
What I'm missing is DejaVuSansMono which is what I'm using. The result of the test was Ubuntu Mono, which looks okay too.
jeffbee 1 days ago [-]
It is sort of baffling that people make some of these hideous fonts, look at them, and decide to publish them regardless. A font where the lowercase i and l are indistinguishable? Okay...
shagie 1 days ago [-]
I was amused that Dank Mono wasn't in the lineup (though there was one that had some of its aesthetics)
The one use case I've seen for Dank Mono was presentations with an overhead projector at conferences. The cursive for italics can make some of the structure of the code more differentiated when viewing it at a distance.
wendy7756 1 days ago [-]
This is interesting. I didn’t realize how much font choice affects readability until I switched between a few over time.
throwaway613746 1 days ago [-]
I've been jumping between Maple Mono and a custom Iosevka build that I've been tweaking here and there for the better part of 3 years. Jetbrains Mono is also really nice if you want something a bit more neutral.
i18nagentai 1 days ago [-]
[dead]
1 days ago [-]
nilslindemann 22 hours ago [-]
1. What does "choose" choose?
2. What does "press arrow" do?
3. Do "choose" and "press arrow" do the same or do they do different things?
Chrome (assuming you're using Chrome) draws it a specific way. This does not match how Freetype (using typical tuning) or DirectWrite draws it. Chrome's choices in font renderer tuning and blending makes it kind of split the difference between Windows-style and OSX-style, and isn't native to either.
What it should be doing is showing you lossless screenshots of actual in-app renders at different sizes. Some in Chrome (to represent the Electron apps), some in DirectWrite, some in OSX post-Retina, etc.
Some fonts look amazing at larger sizes, but are unreadable at smaller ones. Some perform exceptionally well at smaller sizes. Some look great on every font renderer but OSX's, but some only look right on OSX and look bad everywhere else.
I've sorta played this game with myself, in a semi-objective way: take a bunch of fonts, ignore the subjective art nature of them, and throw them at a bunch of common renderers and see what the optimal size is, and then sort by smallest legible size.
If we define Fira Code, the most popular code font out there, as the bare minimum, 8 of the ones I tested beat it, while 17 were worse.
https://github.com/Diablo-D3/dotfiles/blob/master/fontsizes....
Interestingly, Ubuntu Mono was the font I landed on - which is already the font that I use. At least I'm consistent.
And if you use Emacs, it's configurable at the buffer level. [1] This lets me build a version of Iosevka where `~=` and `!=` both become ligaturized but in different major modes, avoiding any confusion.
[1]: https://github.com/mickeynp/ligature.el
Some people like ligatures, some people do not like them, but this does not matter, because any decent text editor or terminal emulator has a setting to enable or disable ligatures.
Any good programming font must have ligatures, which will keep happy both kinds of users, those who like and those who dislike ligatures.
I strongly hate the straitjacket forced by ASCII upon programming languages, which is the root cause of most ambiguous grammars that complicate the parsing of programming languages and increase the probability of bugs, and which has also forced the replacement of traditional mathematical symbols with less appropriate characters.
Using Unicode for source programs is the best solution, but when having to use legacy programming languages in a professional setting, where the use of a custom preprocessor would be frowned upon, using fonts with ligatures is still an improvement over ASCII.
[ MAPLE MONO ]
(on Github https://github.com/subframe7536/Maple-font). It has amazing readability, looks nice, is compatible with NF if you use that. I received compliments from people looking over my shoulder for my f'ing font?! Huge shoutout to subframe7536 ^^
[0] https://font.nina.coffee/
It looks like they naively aligned the slant of the leftmost edge at the mid-height of the glyph, which is not the right way to optically align shapes, especially for a symbol with asymmetric curvature (the leading face of the loop leans substantially more than the trailing face). And then in addition to that, a too-wide arrangement when adjoining ("ul", "ll", etc) causes excess dead space around adjoined pairs.
You see this quite strongly in the "null" that appears on line 5 in their example screenshot. The two "l"s both appear to lean more than the "nu", and the "ul" has more internal space than the "nu", and the "ll" has even more than that.
For more info: https://github.com/tonsky/FiraCode/wiki/How-to-enable-stylis...
This seems bizarre to me, I do not understand the rationale behind it. Can someone enlighten me?
< Look at the tasteful colouring. The tasteful thickness of it. Oh my God.
What I noticed while playing was that when fonts are similar, I really pay attention to the rendering of "m" and "r". When they look off, the whole font looks off to me.
It's so good. Perfect even. And they have a really neat customization tool.
I've been using it for a few years now and they actually still occasionally release a new version of it. Haven't gotten tired of it yet.
The only complaint I have about it is that I had to do a hacky workaround to get my Nix setups to pull it in since it's proprietary.
I even forked their "Machine Report" tool (which presumes Debian) to make it work on Linux/NixOS by applying a "polyfill": https://github.com/pmarreck/usgc-machine-report-nixos-editio...
I wonder if it's Stockholm syndrome or if I really do prefer it. It's a totally fine font, I've never felt the need to change it. All the default open source mono fonts seem completely adequate I suppose.
Some fonts are close enough that I don't know if I'd choose one over the other consistently, and I'd be curious to see a percentage score of how much I like a particular font.
Unfortunately, I don't believe there's any established algorithm for how to repeatedly sample pairwise preferences to convert them into a strict ranking, which would ideally be with an active learning component to really drill down into the comparisons that are the closest. Would be a fascinating thing to try to develop, though.
https://www.comicbookfonts.com/Code-Monkey-Variable-font-p/b...
Unfortunately plus signs display as blank spaces in the test drive. Oh well.
It would be nice if it showed you 1st, 2nd, semi-finalist, quarter-finalist...
It would also be nice to see progress of some kind, a few minutes in I was wondering if I was near completion or just getting started.
It's hidden behind the menu button on mobile.
Though it turns out that VS Code default (Droid Sans Mono) is (to my eye) basically identical to my winner (Roboto Mono), so the exercise was mostly academic.
Fira Code came in second, and that's fair, I've used it on occasion, I like it.
I feel like Chivo Mono[1] would make a decent programming font — if a programming version of it were to exist, anyway.
I also like Go Mono[2], and although they're rather different to what I usually go for, I can see the appeal of the M+ mono[3] fonts.
For those of a more whimsical inclination, Fantasque Sans Mono[4] seems like it might be cool for you.
[1]: https://fonts.google.com/specimen/Chivo+Mono
[2]: https://go.dev/blog/go-fonts
[3]: https://mplusfonts.github.io/
[4]: https://belluzj.github.io/projects/design/fantasquesansmono-...
Playing the game gave me Jetbrains Mono though.
I didn't necessarily select the one closest to what I currently use in the game, but more looking at the shapes of different characters to see what looked the "nicest".
https://github.com/ryanoasis/nerd-fonts/tree/master/patched-...
The game certainly needs a progress bar (I tried on iPhone) and option “there’s no chance in world that I will ever use any of proposed options”.
Funny enough I realized that every several years I oscillate between trying to get readable narrow fonts (that brought me to Iosevka) and wide ones (Azeret Mono, anyone?)
I came from Fira Code to JetBrains Mono to MonoLisa (several years each) then finally settled on Berkeley Mono and refuse to use anything else!
Don't get old, kids, it sucks.
For coding I much prefer fonts that are bold and easier to read. Who actually likes these whimsical cursive looking comments or super thin looking fonts?
I ended up with "Roboto Mono" btw.
Also, black backgrounds require bolder fonts.
https://pastebin.com/d3RzBR6B
Would be nice to be able to play it with my own fonts because some got eliminated purely because 0 (zero) looked like O (letter). Fira Code was a winner only because there weren't paid fonts that I use.
* no <= or === ligatures (i still like to see the separate characters)
* 'i' vs 'l' vs '1' (I now mostly prefer fonts where the lowercase 'l' has the righthand bend on the bottom)
* dotted zero vs slashed zero (i prefer the slashed zero, but dotted is fine as well)
The most shocking revelation that I took from this game is how many coding fonts think it's acceptable to neither slash nor dot their zeroes.
I can't imagine using one of those fonts that leaves 0 and O nearly indistinguishable.
The semifinals for me with ligatures enabled were Inconsolata vs Cousine, and Nanum Gothic Coding vs Xanh Mono. With ligatures disabled: Xanh Mono vs Nanum Gothic Coding, and Share Tech Mono vs Roboto Mono.
It'd be nice if you could click the various fonts in play at the end, to see them again and compare them against one another. (Regarding comparing images against one another: https://news.ycombinator.com/item?id=46954055) I had specific metrics that I was going for, but sometimes it was marginal.
https://github.com/githubnext/monaspace/blob/main/docs/Textu...
On the game/bracket: it narrowed me down to Noto Sans Mono and I'm honestly not surprised, it's one of the few fonts that comes with my operating system that I find acceptable.
That being said, what I actually have my terminal and Emacs set to is “AcPlus IBM VGA 8x16” from https://int10h.org/oldschool-pc-fonts/. I've always been fond of the VGA font and it tickles all the right usability marks for me.
Unfortunately they seem to have missed it on this page.
[1]: https://files.ax86.net/terminus-ttf/
There's a vector version[2] now too!
[1]: http://proggyfonts.net/
[2]: https://github.com/bluescan/proggyfonts/tree/master/ProggyVe...
This way I can focus on coding and less on tweaking my environment.
I made myself my own pixel-perfect perfect font, more than 10 years ago. I simply copy it from one system to the next one when I upgrade (either the machine or the OS).
It's basically a modified pixel-perfect Terminus font, but with some elements mixed from an old pixel-perfect Monaco font and some modification of mine.
Something I cannot live without is a tall pipe symbol. And my pipe symbol must have a hole in it in the middle (and it cannot be mistaken for an exclamation mark).
I've got the following as a quick test. The reason for a,b,c,e is to verify that <>,{},[], etc. all perfectly align vertically.
Everything is correct, to the pixel.
I don't believe in anti-aliasing for a coding font, not even on a retina display, and I love my 3840x1600 pixels 38" monitor and it's pixel size is perfect to me.
the lowercase 's' has a shorter upper bar and the lowercase 'l' is stylised.The thing is: I obsessed for days, creating my own pixel-perfect font. And I don't need to tweak it anymore: it's perfect (to me, YMMV) and I use it ever since.
Can't share it as I reused both Terminus and chars from Monaco.
FWIW I had more than 10/10 eyesight (once you get at 10, there are additional tests) and in my entire life I've never seen one person beat me at the "read sign on the highway". Pixel-perfect font, no AA, custom made font for me. YMMV. Haters gonna hate.
> I don't believe in anti-aliasing for a coding font, not even on a retina display
This is a very good point. As resolution increases, antialiased fonts become less ugly, but also less necessary. Thus at no resolution they make any sense; but they look ridiculous for different reasons.
It's amazing to me how many of the fonts in this bracket have lower-case ell and one as nearly identical (both with a line at the base and some protrusion to the left at the top).
On improvement would be to allow scalling different fonts to different sizes. With them all at (e.g.) 16pt, there is a wildly different amount of text on the screen.
1: https://github.com/belluzj/fantasque-sans
- An ELO-based version with many more variables, so that I can open the site from time to time and find more nice fonts
- Some global stats
- Not losing the leaderboard after reloading
- Spline Sans Mono
So Aptos Mono or Consolas it is.
https://github.com/ericfortis/verdanacamel
Anecdotal solely to me, very unnerving and even with formatting marks enabled makes me feel uneasy seeing a space without a space formatting mark.
I wish the sample text included _underscores_, since I have occasionally found that they disappear with certain combinations of font + size + renderer.
And a run of all the numeric digits 0123456789, to show how their heights align.
And [square brackets], to show how easily they are distinguished from certain other glyphs.
And the vertical | bar, for the same reason.
...
Adobe Source Code Pro and Ubuntu Mono were my finalists. I think my preference would come down to window and font size, since Ubuntu Mono seemed to be narrower and leave more space between lines.
(Also, I kind of rushed the first few comparisons, so it's possible that I prematurely eliminated a typeface that I would have liked more.)
I remember seeing another font that I liked but I didn't manage to check what font it was before the game showed the winner. Looks like I have to play it again. Not on mobile at least, the webpage was hard to interact on Android Chrome.
But in general, I think obsessing over the monospace font you use for coding is, ultimately, bike shedding. I've used a lot of different fonts over the year, not because I was trying to find the best one, but because I used the default font of whatever tool I was using at the time, and - guess what - I was fine with it every time.
Plex is a beautiful font, and one of the few corporate fonts that I actually think works, while being recognizable as being IBM.
(FWIW, I just did the codingfont bracket and got Source Code Pro, which I've used in the past, along with Iosevka and Commit Mono)
[1] https://usgraphics.com/products/berkeley-mono
Also, about half of these fonts look utterly unsuitable for coding to me. Nobody really needs serifs and loopy l's in a coding font, surely?
I found this somewhere on the internet. Haven't been able to know what this font is.
At the same time, it would be wonderful if window sizes were more consistent (now things are obstructed, with scrolling, etc). And I would love to download the ranking graph!
* https://news.ycombinator.com/item?id=42554715
Results: Roboto Mono !
I also remember some nice ones designed to look like a smoothed VT-220 one.
Now I can have side-by-side two editors plus a Structure or Project pane at the left in PyCharm while having 120 chars visible in both editors.
That said, these days I almost exclusively use Input Mono [0], specifically the "Narrow" variety. With an occasional sprinkling of either Iosevka Fixed or PragmataPro Mono.
0: https://input.djr.com/
But I prefer (and use) PragmataPro (not free) and it is not part of the test, sadly.
I eventually had to buy one I liked, and non-free fonts won’t ever show up in sites like these.
(It’s called “Codelia” if curious.)
Like, some fonts look to weird/unusual that I dislike. But most look just fine and I don't really care.
Am I weird? Do I lack taste?
- Ligatures or not
- *: in the middle (better for things like multiplication), or high (better for things like C pointers)
- Alignment of =, >, - some fonts align -, = and > to that "=>" and "->" look good, others will not, making it arguably look better in isolation, others will optimize for ligatures
- The "i" may look significantly different, some will prioritize consistency, others will prioritize making il1I look distinct. Same idea for 0/O
- Aspect ratio, do you want a wide font, making alignment, indentation, and special characters clearer, or a narrow font, allowing you to cram longer lines into a single screen.
These are compromises, and depending on your style and language, you may prefer one or the other.
I'm using Liberation Mono, and it's missing :( i got PT Mono though.
[0]: https://www.recursive.design/ and also available on Google Fonts[1]
[1]: https://fonts.google.com/specimen/Recursive
Reminded me of Sun consoles.
2024 https://news.ycombinator.com/item?id=41604781
2021 https://news.ycombinator.com/item?id=29010443
Suggestion: I'd like to have an option to exclude fonts without ligatures from the game. And it seems there are others who don't like ligatures who would probably like to be able to exclude fonts with ligatures. You could also do this for other features like serifs.
I'm disappointed in you today, HN
Seeing all the fonts listed here it would be great to be able to add user submissions into the mix.
That's the one i have been using for many years, look like i made the right choice
What I'm missing is DejaVuSansMono which is what I'm using. The result of the test was Ubuntu Mono, which looks okay too.
https://philpl.gumroad.com/l/dank-mono
The one use case I've seen for Dank Mono was presentations with an overhead projector at conferences. The cursive for italics can make some of the structure of the code more differentiated when viewing it at a distance.
2. What does "press arrow" do?
3. Do "choose" and "press arrow" do the same or do they do different things?