16 ms·
Coding with Character
- daevski 5y agoI've spent HOURS playing with fonts for use within VS Code and Windows Terminal. It is a lot of fun, and it really does help readability ... for me at least ;)
- wtt604 5y agoMonospaced takes people back to a simpler time, when you would get cheats or walkthroughs printouts. I love how clean the look is with each character having its own distinct spacing
- mouzogu 5y agoSurprised that there was no mention of Fantasque Sans Mono, one of my favourites and full of character especially on Windows. For MacOS I've yet to find anything that comes close to Andale Mono.
- mattowen_uk 5y agoHaving spent hours looking for the 'perfect' coding font, I've noticed a lot of them only look good under Windows on a HiDPI screen. My main monitor is 'only' a large QHD screen, that I run at 100% scaling, and most of the really nice coding fonts render really badly at typical sizes (12px-16px). It feels overkill to get a 4K monitor and scale at 200% just to get nice looking fonts :/
- lionkor 5y agoTry IBM Plex, it looks great on my HiDPI screen
- fomine3 5y agoBack to Consolas.
- formerly_proven 5y agoI really like Consolas. It looks nice and it has neat italics, which I usually use for comments.
- innocenat 5y agoI currently use Mac (200% scale) and Linux (FHD, 13", 100%) at home, and 24" FHD (100%) at work, and tbh I don't notice any problem with my font (Iosevka). Idk about other though.
- a_e_k 5y agoI originally built Luculent [1] on a non-HiDPI screen, optimized it for that size range, and fully hand-hinted it to get it to look super crisp on Windows and Linux. This sort of thing is always a matter of taste, but it might be worth a try. [1] http://eastfarthing.com/luculent/ http://eastfarthing.com/luculent/
- layer8 5y agoI continue to use Lucida Console for that reason.
- innocenat 5y agoI am a little bit disappointed that my favourite monospace font, Iosevka, wasn't listed.
- pstadler 5y agoSame here. It‘s a very narrow font and everything wider than Iosevka feels like a downgrade to me. https://typeof.net/Iosevka/ https://typeof.net/Iosevka/
- vanderZwan 5y agoI also use it but just can't keep up with the pace of development. Like, every two days there's a new update it feels like
- swah 5y agoNow that you mentioned, upgraded it from 3.x.x to 8.x.x - I wonder I'll notice anything different.
- vanderZwan 5y agoAnd as if to prove my point: two days after you did that version 9.x.x was released https://github.com/be5invis/Iosevka/releases https://github.com/be5invis/Iosevka/releases
- enriquto 5y agoall blurry fuzzy fonts... I'm a bit sad to not seeing any sharp, crisp, bitmap font here.
- zubspace 5y agoI love Proggy in this regard [1]. It's so hard to go back to an aliased font after using Proggy for a while. Also it's easier to see the structure of your code with smaller fonts, because you can simply see more of it at once. [1] http://www.proggyfonts.net/index.php?menu=download http://www.proggyfonts.net/index.php?menu=download
- enriquto 5y agoWhat do you mean by "aliased font"? I like the design of Proggy but all the proposed sizes are tiny. I need much larger font sizes, at least three times the size of the largest Proggy.
- desine 5y agoA free, simple one I like: https://www.marksimonson.com/fonts/view/anonymous-pro https://www.marksimonson.com/fonts/view/anonymous-pro (also available from Google and Adobe). I have long hesitated to pay for fonts for personal, non commercial use. However a well designed font really can make a difference in the usability of a computer. I'm checking these out, I'm at the point where I would be willing to spend some serious cash for a font. Although to me, "serious cash" for a personal use item would be around $25, some of these cost upwards of $100. Part of my hesitation is a lack of understanding how to analyze fonts and my preference. I've done some reading on typography and design, but any time I install a new font, the depth of my emotion goes as far as "this is nice" or "I liked the previous font more, I guess".
- mrunseen 5y agoAlthough some say their trial fonts used for non-commercial works. most foundries doesn’t actually have a seperate license for NC usage. For instance Input have a free (as in free beer) non-commercial license but you have to pay for it if you want to use it in commercial stuff. (btw, font licensing in general is a mess)
- goddstream 5y agoInteresting, but it made me wonder - are there any programming languages that you can use with a proportional font? Python would not be on the list...
- desine 5y agoTechnically, you can use any language, including Python. Python cares about the number of whitespace characters, not the sizing of them. Any other languages will have the same issue of your columns / pretty formatting not lining up exactly, but won't cause any issues. If I had to pick one to use with a proportional font, I guess it would be Perl. The aesthetics would at least fit it well.
- gecko 5y agoSmalltalk is traditionally done in a proportional font. Short methods, and an editor that only does one method at a time, help that work out.
- codingkoi 5y agoI’ve used Input Sans[1] with Python in the past and it works pretty well except if you use white space for formatting or ascii art as opposed to just indenting. It works because the spaces are nice and wide unlike in a typical proportional font. I don’t use it anymore mostly because I wanted something with a little more character but it’s worth a try. [1]: https://djr.com/input/ https://djr.com/input/
- qbasic_forever 5y agoI'd love for all IDEs to support notebook style computing where comment blocks just turn into proportional font prose, perhaps with optional markdown rich text. Tables, lists, etc. look way better as proper HTML instead of ASCII art intermingled with code.
- enriquto 5y ago> comment blocks just turn into proportional font that would be horrific! Don't you ever use comments to pin-point to specific parts of a source line?
- capnorange 5y agohave been enjoying using Cascadia Code
- jwilber 5y agoSame, absolutely love it.
- Semiapies 5y agoI kept recoiling from how bad "windowWidthResize" looked in the first few fonts.
- cygned 5y agoAfter trying a lot of fonts for hours and hours, I ended up with Fantasque Sans Mono: https://github.com/belluzj/fantasque-sans https://github.com/belluzj/fantasque-sans It's somewhat similar to Comic Sans, like the Comic Code from the article, but less playful. It's the most readable programming font I have ever had, with many other typefaces I often see text a little blurry.
- qbasic_forever 5y agoFSM surprised me too, especially how readable it ended up being even at smaller sizes. I've stuck with it for quite a while over lots of other good choices.
- vanderZwan 5y agoOh wow, they really cleaned that one up since I last tried it ages ago! (some of the characters used to be so wonky I just couldn't get over it) Looks really nice now Looks like "comic sans-inspired" is a genre. We also have Comic Shans, for example: https://github.com/shannpersand/comic-shanns https://github.com/shannpersand/comic-shanns
- ziml77 5y agoI just can't get used to the playful fonts like that. My most recent attempt was with Cascadia Code, but that wobbly Comic Sans feel looks off to me and prevents the font from falling away into the background when reading. I also don't like how different many of those fonts make the italics look. It makes them almost feel like a completely different font and turns them into a distraction.
- vanderZwan 5y agoI've been told that these fonts are actually doing italics "right", as in that originally meant having a "handwritten" look, not just being slanted. But a quick internet search doesn't produce any obvious result proving or disproving that statement. Maybe someone here knows?
- 5y ago
- paxys 5y agoNo love for Droid Sans Mono? It is the perfect programming font for me (well, the slashed zero variant).
- qbasic_forever 5y agoSurprised not to see Space Mono on the list, it's a solid one I like to use in terminals (gray/white on blue gives a nice 1960's 2001/what if IBM ruled the future of computing kind of aesthetic): https://fonts.google.com/specimen/Space+Mono https://fonts.google.com/specimen/Space+Mono
- nielsbot 5y agoMy favorite coding font is actually a proportional coding font: Input Sans. I love the legibility and the nod to the fact that I am not a computer. I dream of a world where computer code is formatted for humans, not punch card readers. https://input.djr.com https://input.djr.com
- Stratoscope 5y agoInput Sans is a great proportional coding font. My personal favorite at the moment is Trebuchet++, my customized version of Trebuchet MS. (I wish I could distribute it; now I will have to find a way to do that.) The Input Manifesto (that's what I'll call it) has a nice explanation of how proportional fonts are beneficial for code: https://input.djr.com/info/ https://input.djr.com/info/
- amanzi 5y agoHow do you line up your equal signs? e.g. def mouseMoved(self, info): point = info["point"] text = u"%.0f %.0f" % (point.x, point.y) self.set(text)
- mseepgood 5y agoYou don't have to.
- lelanthran 5y ago> You don't have to. I do. I like being able to visually spot oddness in statements, and having a sequence of assignments, comparisons, etc lined up makes it easy to spot the lines that do something different.
- nielsbot 5y agoI find you don’t need to. maybe tabs would work w the right editor.
- zeven7 5y agoIs this the best case that can be made for using a monospace font for coding? I can do without lining up the equal signs. I may look into switching to a proportional font.
- a012 5y agoI love IBM Plex Mono and try to use it on all of my machines
- lionkor 5y agoSeconded, I even use the Sans version for my system font and the Serif version for letters
- gentleman11 5y agoA pet peeve, thinking of web fonts, is that every license I’ve ever read makes you commit to not distribute the font at all in a way that an end user could get access to the font file. Which is impossible for a web font. It’s just litigious and ignorant Other requirements are sort of nasty too. MyFonts requires you to embed tracking code into your website to prove you don’t go over your view count
- Silhouette 5y agoI never understand why so many font studios do this. I don't mind paying a fair price for a good font that a professional has designed, for the same reason I don't mind paying for a good book. But the terms for using it have to be sensible. They are now competing with some high quality fonts that are also comprehensive and professionally designed but free to use with few restrictions, so the licence needs to be simple with no sense of danger or I will walk away immediately. Some of these font developers seem to think they are the reincarnation of Elvis or something with the level of hassle they think people will go through to pay them money!
- pixelambacht 5y agoMyFonts is owned by Monotype, the big gargantuan soulless mega corp that is still profiting off typefaces designed by people that have been dead for over a century. But if you look at independent font developers (who are just folks like you and me), most are perfectly reasonable in pricing and license constraints, and are happy to answer questions or even change the terms and conditions if this makes it easier for you to spend the $30 - $100. I don't think any of these are trying to be litigious, and they're certainly not ignorant. (Though I understand that your misunderstanding of the web font licensing might make it look so!)
- kalyantm 5y agoI'm still waiting for the day something trumps Source Code Pro for me...
- deleted 5y ago[deleted]
- melbourne_mat 5y agoYep any time I install a new editor the first thing I do is switch it to Source Code Pro. Maybe a bit boring compared to those on Doug's list but I love it nonetheless.
- Jiocus 5y agoI'm missing the ancient IBM 3270*, which has strangely achieved a permanent status as my go-to font for (personal) monospaced. * the modern, open source revival → https://github.com/rbanffy/3270font https://github.com/rbanffy/3270font
- KronisLV 5y agoPersonally, i really enjoy using the Liberation fonts for both regular writing and software development: - Liberation Sans - metrically compatible with Arial - Liberation Serif - metrically compatible with Times New Roman - Liberation Mono - metrically compatible with Courier New You can read more about them here: https://en.wikipedia.org/wiki/Liberation_fonts https://en.wikipedia.org/wiki/Liberation_fonts In my experience, Liberation Mono has really good information density while being easy on the eyes and also really readable. In addition, it seems to have pretty good unicode symbol support as well. Also, it remains readable at smaller font sizes as well, which comes in handy if you're working on an enterprise Java code and don't have a really big monitor. Overall, i'm glad that the font family exists, because it provides a good alternative to having to install MS fonts on *nix systems, which can be annoying at times, plus the fonts are actually included with LibreOffice, which i use nowadays. The Wikipedia page has a bit more information about the related fonts, but if you'd like to preview something that's a lot like Liberation Mono in the form of a webfont, have a look at Google Cousine: https://fonts.google.com/specimen/Cousine https://fonts.google.com/specimen/Cousine
- wanda 5y agoCousine is one of the ChromeOS core fonts, along with Arimo and Tinos, and I find them both preferable to Arial and Times New Roman respectively. As for Cousine, it used to be my programming font of choice, but I prefer IBM Plex Mono these days. https://fonts.google.com/specimen/Arimo https://fonts.google.com/specimen/Arimo https://fonts.google.com/specimen/Tinos https://fonts.google.com/specimen/Tinos
- lionkor 5y agoSomeone in my team writes all his C and Lua code in Comic Sans Mono. That's all I'm going to say.
- lionkor 5y agoMy favourite set of fonts is definitely IBM Plex. The mono font is super clean, very pretty, easy on the eyes, and no characters look alike (Il1, for example, is actually readable). All other types, like sans and serif are amazing, too. The IBM Plex website sucks, but damn is it a pretty font.
- usrme 5y agoI've tried various other fonts to spice things up a bit from JetBrains Mono (https://www.jetbrains.com/lp/mono/ https://www.jetbrains.com/lp/mono/), but everything else just pales in comparison for both terminal and text editor usage. Highly recommended!
- petepete 5y agoI switched to JetBrains Mono a year or so ago. It's so nice sometimes I even zoom in on my terminal just so I can appreciate it. I'm totally sold on ligatures too.
- throwuxiytayq 5y agoSince everyone is posting their suggestions, a couple of years ago I settled on the open-source Monoid font with ligatures. https://larsenwork.com/monoid/ https://larsenwork.com/monoid/ I find it that it's very easy to get used to ligatures, and I find them strangely satisfying to look at. They're code-specific replacement characters that combine your == into a single long double bar, or -> and => into a neat little arrow character, and so on (link above for more examples). Monoid also has some useful readability tweaks, like bringing together the // or .. character pairs, which are common in many languages. If you're looking to add some quirk and (arguably) readability to your coding, this could be your thing!
- zX41ZdbW 5y agoI've created a page to test monospace fonts in browser: https://alexey-milovidov.github.io/font-selector/ https://alexey-milovidov.github.io/font-selector/ This is intended mostly for my own use case: desktop workstation, light theme, C++ development environment. Though dark theme is also included. Many caveats exist, there is "About" with disclaimers.
- SuchAnonMuchWow 5y agoSlight rant about a mistake I see every times this is mentioned: > a user needs to easily differentiate between 1, I, |, and l along with 0 and O. Most of the times, a font present those characters side by side, to show their differences and to illustrate the fact that they can be easily differentiated. But what we need is not differentiate between them, but identify precisely every single one of them when presented without the other as a comparison point. Almost every font presented in the article makes that mistake: for example, 0 is almost always the exact same shape and size compared to O, except for a dot or a slash across the 0. This allows you to recognize a 0 at first glance, but not a O. The same issue is also present in a lot of the presented fonts with l that can be mistaken for a 1.
- Stratoscope 5y agoThis is one of the things I appreciate about using a proportional font for coding. Nothing stops you from having a big fat O and a little skinny 0, just like you see right here in your comment and mine with HN's Verdana font. You don't have to have every character stuffed into the same fixed size box.
- username90 5y agoI can't imagine trying to code without being able to align characters on different rows...
- Stratoscope 5y agoShow me an example where you need to do that, and maybe I can suggest an alternative. Or I will say "yup, you got me there!" ;-)
- ChrisMarshallNY 5y agoAlmost all my code is heavily aligned, and I rely on monospace. I’m pretty anal about that kind of thing. My cloc score is generally about 50% comment-to-code. But I’m an outlier. Most folks have almost no comments at all in their code. I guess I could use tabs, instead of spaces, but I’m not interested in doing that.
- luismedel 5y agoNever imagined that I'd read about Vulfpeck in a HN link :-)
- zefhous 5y agoThey had some attention here when they did Sleepify too. I think there was a more popular post than in this link, but perhaps without their name in the title? I just did a quick search. https://news.ycombinator.com/item?id=7428550 https://news.ycombinator.com/item?id=7428550
- agys 5y agoNo mention of the open source font Hack (maybe because it doesn’t fall into the category of great personalty, but there are many options to customise it…), so here it is: https://sourcefoundry.org/hack/ https://sourcefoundry.org/hack/
- thecopy 5y agoI was surprised to not find Iosevka font on the list. I discovered it from HN last year and have been using it everywhere i need a mono font since. https://github.com/be5invis/Iosevka https://github.com/be5invis/Iosevka
- wanda 5y agoQuite a few of the usual suspects seem to be absent. Pragmata Pro, Fantasque Sans Mono, Fira Code, Go Mono, etc. Definitely expected to see Anonymous or Space Mono on there, though I don't particularly care for either of these myself.
- SJetKaran 5y agoIosevka Aile is my go-to font for note taking!
- gbromios 5y agoDamn, that is beautiful, but feels too condensed for a terminal/text editor. Maybe I'll give it a try anyway...
- kleiba 5y agoI said it before, and I stand by it: to me, all these re-appearing discussions about "programming fonts" are - to the most part - bike shedding.
- Stratoscope 5y agoAs programmers, we spend many hours a day looking at text. You may not care what font someone gives you, and that's fine. But we all have different eyes, different tastes, and different priorities. I care enough about it to have spent some hours customizing my own personal proportional programming font. Is that bike shedding? I don't think so. I don't even have a bike!
- kleiba 5y agoFunny. But in reality, if you did not even have a choice (like we didn't in the olden days), I honestly don't think your productivity would suffer. I think there other factors that are way more important for that. Like for instance, having syntax highlighting (which hasn't even been around for that long) is in my opinion way more crucial than the choice of font. A way to visualize matching parentheses is way more useful than the choice of font (think Lisp, especially). So, yeah, nothing wrong with having different tastes. I'm just saying that the topic of which font you use for programming is way less than important than some people make it out to be, if you believe the internet.
- Stratoscope 5y agoOh, trust me, I learned to program when there was no such thing as a "font" other than WHAT YOUR TELETYPE PRINTED OUT IN UPPER CASE BECAUSE THAT WAS ALL WE HAD. Hey, any other old-timers here? Did that UPPERCASE TEXT make you hear the chunkity-chunk-chunk sound of an Model 33 ASR cranking away at ten characters per second? Cannot be unheard! I don't know if I am more productive now, but as much as that sound makes me sentimental, I think I am glad to be rid of it. https://en.wikipedia.org/wiki/Teletype_Model_33 https://en.wikipedia.org/wiki/Teletype_Model_33
- amelius 5y agoI switched to Iosevka Term Regular, which is a condensed font so it gives me more characters in the horizontal direction. It took me a week of getting used to it, but now I'm not looking back. It's free. https://github.com/be5invis/Iosevka https://github.com/be5invis/Iosevka
- ziml77 5y agoI've tried a bunch of different fonts, but I always find myself going back to PragmataPro. I love that the characters are narrow but still readable and distinguishable. It also comes with the PUA loaded up with Powerline and Nerd Font glyphs. I appreciate not having to patch it myself to get those.
- stupidcar 5y agoThe pricing model of programming fonts makes no sense. Most seem to be sold at standard desktop font licensing rates, i.e. the $30 to $100 range. 99.999% of developers are not going to spend this much on a nice-to-have. On the other hand, if these fonts were priced at around $5, they drop into the range of an easy, impulse purchase. Even if the creators made substantially less money on each license, I'm sure they'd make more overall from much higher sales.
- mprovost 5y agoIs it less work to design and produce a good programming font? Or is there a larger target market at a lower price? In other words, what market forces would make the price go down for this one category of fonts? Personally I doubt that a programmer who wouldn't spend $100 for a font would spend $5, and you have to sell 20x as many to make up the difference.
- stupidcar 5y agoObviously, it's not less work. Given the need to develop complex additional ligatures, it's likely more. > I doubt that a programmer who wouldn't spend $100 for a font would spend $5 This is where we disagree then. I think there is a big psychological difference for most consumers, including devs, between spending $5 and $100. Even if you can afford both, the former falls into the range of impulse purchases, like getting a sandwich or a cup of coffee, where you spend without really thinking. On the other hand, I think a $100 price is far more likely to trigger a more analytical and skeptical response. Do I really need it? Is it worth it? Should I research alternatives? Maybe, I should think about it and decide tomorrow... Etc. And the consequence will be a huge drop in sales. Also, I also do think there are significant differences in the market for programming fonts vs. general desktop fonts. The market for a single font is likely a relatively small pool of designers / content creators who are spending their employers money, need it to complete a specific project, and who value achieving a unique look. The former is a larger market, who are spending their own money on a nice-to-have, and who don't particularly care about uniqueness.
- 5y ago
- grafelic 5y agoFor non-hidpi screens I always use Dina font and I've used it for many years. https://www.dcmembers.com/jibsen/download/61/ https://www.dcmembers.com/jibsen/download/61/
- gorgoiler 5y agoHaving spent the price of a small car on an Apple laptop, albeit several years ago, I have no qualms in extracting SF Mono from that system and using it on my Linux desktops. If for some reason Apple take umbrage — I can’t think why they would, it isn’t like they haven’t gotten all they could out of me — I would be happy to give them back their laptop. Sent from my iPhone.
- deesep 5y agoI was fresh out of high school and decided to learn computers while I waited for the University entrance exam results. I joined the course about a month late but I was determined to catch up. One day I was alone in the lab trying to run a QBasic code I had written. Everything was Ok except for one line. The interpreter kept pointing to that line and I just didn't get why. I went over my text books several times, and the syntax I had used was correct. After about an hour, I got depressed and my thoughts went all over the place. "It's karma! You see that 'little' lie you told a couple of years ago about not being responsible for knocking moms pot of soup over? Well, the spirits are paying you back now. Your code is fine boy. But your sins cause it not to work. Maybe you should confess when you get home". Luckily for me, a friend walked into the lab and saw me slouched and with a long face. "What are you coding?" I pointed to the offending line. He looked at it for a few seconds and said "it seems fine... Ah! line 1O should be 10." He corrected it, pressed Shift + F5 and like magic it worked. Now whenever I write code I always put a slash across the zero to indicate it's 0 and not O.
- tigerlily 5y ago1
- vyuh 5y agoAgave[1] and Lekton[2] are among my favorite monospace fonts. [1]: https://app.programmingfonts.org/#agave https://app.programmingfonts.org/#agave [2]: https://app.programmingfonts.org/#lekton https://app.programmingfonts.org/#lekton
- Bayart 5y agoI switched all my text editors and terminals to Cascadia PL these last few years, after having tried the Windows Terminal. Microsoft really came out with a near perfect coding font for me with this one. I used to be a Source Code Pro guy. The only caveat with Cascadia is that it needs fairly high DPI to be nice looking with the bold weight.
- helmholtz 5y agoLove Cascadia Code. It's bizzarely thick the first time you lay eyes on it. But once I got used to it, it was fantastic.
- wildernesscat 5y agoWhat about the beautiful M+ 1m font? https://www.fontsquirrel.com/fonts/list/foundry/m-fonts https://www.fontsquirrel.com/fonts/list/foundry/m-fonts
- PaulHoule 5y agoI've been spending a lot of time looking at typefaces and usually feeling like I wasted it. Oddly many of the typefaces with roman letters I like the best are from fonts like Adobe's Arabic font for which roman letters aren't the main focus. (e.g. I have yet to see a Chinese font that has great roman letters but I think Arabic and Cherokee writers really appreciate the Roman alphabet.) This article is no different -- he covers way too many typefaces and most of them are nothing special. Usually I look at serif faces and think the serifs are just a noisy distraction. Then I was reading a book that was set in Palatino and I was blown away by the way the serif on the right side of "lowercase r" would almost make love to to the curves of the "lowercase e" and the "lowercase s". I was thinking "gee they got the font metrics right". Then I looked at the "Palatino linotype" that comes with Windows and the lowercase r is not shaped that way at all. Since "99% of everything is crap" I want to read articles that cut through the crap and present nothing but the best.
- deleted 5y ago[deleted]
- alanbernstein 5y agoDiscussions like this remind me of the business card scene from American Psycho, where the executives' cards are all nearly identical, and the main character is practically hyperventilating with jealousy at the subtle "improvements" that are shown relative to his card. I don't mean to begrudge anyone for their preferences. Personally, it just makes very little difference to me. I want a monospace font for coding. If it has the characters I need, which it almost certainly does, then I don't really care about anything else.
- javier10e6 5y agoNo mention of Terminus?? https://files.ax86.net/terminus-ttf/ https://files.ax86.net/terminus-ttf/ Those were the days. Today I stick with whatever the IDE or distro system font has. Meh.
- arh68 5y agoMononoki is my recent favorite (unmentioned yet, but surely popular). https://madmalik.github.io/mononoki/ https://madmalik.github.io/mononoki/ Monofur is a wild font I'm mildly surprised was omitted. I did use it full-time for a while maybe 10 years ago, but it's maybe not the best daily driver. https://www.fontspace.com/monofur-font-f39937 https://www.fontspace.com/monofur-font-f39937