Ask HN: Anyone using proportional fonts for coding?
(I don't find them distracting and I enjoy messing with typography.)
I'm curious about any less obvious pros and cons, as well as recommendations for any fonts to try.
I'm curious about any less obvious pros and cons, as well as recommendations for any fonts to try.
89 comments
[ 4.9 ms ] story [ 191 ms ] threadWhy, when I was a lad, we had to punch paper tape by hand! And it wasn't any of this buy-it-by-the-roll stuff either. My da' would send me to the woods, and I'd have to chew a branch for a week to make my own paper!
Well, real programmers just tweak the bias voltages on the op-amps driving the transistor networks.
And not using the potentiometers that today's "real programmers" use. No sir, when I was a lad...
https://gnucobol.sourceforge.io/faq/index.html#do-you-have-a...
I use vim keybinds and movement was too unpredictable to keep using as my main font. Now I'm back to a monospaced font.
And, they say, programmers use monospace fonts because it helps them catch typos. In reality, variable glyph widths make it easier to identify typos.
Perhaps we can design a new character system script specifically designed for ease of programming! I say we use Aurebesh. :)
I think APL already did this.
https://github.com/iaolo/iA-Fonts/
As in "Just tell the AI what code you want to write and the language and it will just magically do it for you" is like, sure, no problem, but we absolutely draw the line at "Use proportional fonts to make the code read nice on a page" because thats WAY TOO HARD
Amazon may have changed, but this is also not universal. Team preference, though they may be enforcing it in the older code base for the site (i.e. detail pages, etc.).
Facebook is the only one on your list I can confirm does, in part perhaps due to the predominant language (Hack).
It definitely felt weird at first, like I was reading code that somebody had pasted into Microsoft Word. But that passed and now it's all upside.
I screen-share my IDE from time to time and I've never had anyone comment on it.
Oh, what we are really missing are code-oriented ligatures, like -> or ==>. Sad, but I find fixed width so bothering that I’m not willing to try the fixed width fonts that offer such ligatures.
This is not a universal truth. I've worked at faang companies that don't even do this.
In fact many great comments I've seen have been ASCII art diagrams. Those should be encouraged.
Like when someone shouts to you after they've already thrown, and you must turn and catch in a fraction of a second. Or take a ball to the jaw.
You've expressed a considered preference, not a hot take.
https://developer.apple.com/library/archive/documentation/Xc...
E.g.
Is there a legitimate reason for the non-C addition atop a C-syntax?Edit: Thanks for explaining!
Or, if you are typesetting a book, you can do alignment in the typesetting software instead of adding spaces.
To my eye, they also just make code look… I don't know, messy somehow? Especially with serifs it looks like a tractor trailer wrecked and spilled its payload of characters all over the place.
I bet it would traumatize some of my VIM diehard teammates.
Unicode block characters have constant width.
Unicode also contains fixed-width equivalents to ASCII letters: abc. Just add 0xFEE0 to the code point.
And 0x3000 is an ideographic space, with the same width.
turns into EDIT: which would have looked much better had HN not replaced full spaces with the narrow kind.For editing, I'd just use a conversion tool, and edit it in a fixed-width editor rather than directly in code. Yes, it's an extra tool, but I don't think it's that outlandish to edit pictures in a tool for editing pictures.
The tricky part is there aren't many proportional fonts designed for coding (but more than there used to be). One early 90s version of ST defaulted to Helvetica, which was a nightmare to read on the then current lowres screens. Of the current choices, Input is probably the best place to start. Verdana is popular with some, and I've used Lucida a bunch, both sans and serifed. I have also had fun using not really suited display fonts like Zapfino or surprisingly readable drafting handwriting fonts like Tekton. I am currently fiddling with using various ports of the TeX fonts, particularly the CM Concrete as I find the big serifs easy to read. It is usually recommened to use a sans font for readability, but I think that advice is outdated on modern very hires displays with subpixel antialising.
[1] https://fontstruct.com/fontstructions/show/1693628/cream-10p...
The proportional fonts question recurrs periodically:
2005 https://ask.metafilter.com/16469/Proportional-programming-fo...
2010 https://slashdot.org/story/130020
https://www.quora.com/Are-monospace-or-proportional-fonts-be...
2019 https://news.ycombinator.com/item?id=18958046
https://chris.printf.net/iosevka-aile.png
https://typeof.net/Iosevka/
And before you get your pitchforks out, that's from a longtime (since 1998) vim user, whose other current weapon of choice is a neovim setup which acts as as its own multiplexer, thereby replacing gnu-screen (tmux for the rest of you).
In cuis, the morphic graphics system has been rebuilt to be entirely vector-graphics based. Entirely. Everything. The text rendering is beautiful. Each window can be scaled up or down with just a right click to bring up the 'halo', and then just drag the icon. The fonts are redrawn with vector graphics. There is zero quality loss, up or down.
Scaling up or down to cater for different dpi screens is no longer an issue.
The beauty of it is actually a little inspirational, as silly as that sounds. You feel like you have an expensive Japanese-nibbed fountain pen, and high quality parchment, and it forces you to write something.
(yes, the rendering quality remains, even if you also rotate the window as well).