28 ms·
Hi! I’ve returned once more to recommend the Input family of typefaces. https://input.djr.com/ https://input.djr.com/ I’ve been code using Input Sans a (gasp!
by nielsbot 3y ago
Hi! I’ve returned once more to recommend the Input family of typefaces.
https://input.djr.com/ https://input.djr.com/
I’ve been code using Input Sans a (gasp!) proportional coding font for years now and I love it. Input also comes in a monospaced version FWIW.
- taink 3y agoWhile I understand why a font's website would behave this way, I don't think making people dowload 1598 (!) lines of fonts[1] is a good idea; it honestly took so long I was wondering what was so special about their font right about when it started to kick in. [1] https://input.djr.com/css/fonts.css https://input.djr.com/css/fonts.css
- pmontra 3y agoI've been using DejaVu Sans (a proportional font) for a very long time, maybe 10 years, after about 30 years of monospaced fonts. After all we know that they are easier to read than monospaced fonts, tabs or spaces are fixed length anyway so the only thing that I can't do is columns like a = 1 ab = 2 abc = 3 Guess what, this is equally readable a = 1 ab = 2 abc = 3 and some code formatters yield this anyway (eg: Elixir's, if I remember well.) It's a very good exchange: a little feature to miss, much more readable code. I gave a try to Input but it was not OK for me. I can't remember the details. I'm giving a try to Sweden Sans, from yesterday's HN.
- Stratoscope 3y agoI have also been using proportional fonts for at least 10-15 years. I used to use all the column alignment tricks like the one you showed, and stuff like this: do_something_special(first_argument, second_argument, third_argument); Then one day I renamed a function and the length of its name changed, and I had to go through all the code and line things back up again. So I abandoned this kind of column alignment completely and switched to a purely indentation-based format: do_something_special( first_argument, second_argument, third_argument ); (Assume for the sake of discussion that those arguments are long enough that they need to be on separate lines.) That's when the proverbial light went on. I thought, "since I'm not using column alignment any more, why not try a proportional font?" I did just that, and never looked back. If you're not doing column alignment, proportional fonts work just fine. Where I currently work, most of our code is in Python. We used to use the YAPF formatter with Google's settings that are full of column alignment. Last year we switched to Black, and I noticed something interesting. Black-formatted code does not use column alignment at all. It uses only indentation, as in your second example and my second example. So it is just as readable in a proportional font as in monospaced! My current coding font is something I call Trebuchet++. It's based on Trebuchet MS, but with a few customizations that I like for code: a better tilde glyph (the one in Trebuchet MS look too much like a hyphen), a little extra space before and after a dot, and a sneaky trick to make names_with_underscores more readable: I reduced the width that the underscore takes up but extended the underscore below the text before and after it. These last two adjustments fix a problem with stuff like foo_bar_baz.moo_mar_maz() where the underscores are wider than the dot, creating the wrong visual grouping.
- pmontra 3y agoInteresting. Did you edit the font yourself? How?
- Stratoscope 3y agoYes, with the awesome FontForge: https://fontforge.org/ https://fontforge.org/ I wish I could publish Trebuchet++, but it is based on a copyrighted MS font. Maybe I will contact them to see if they could give their blessing to this "derived work". In the meantime, if you or anyone reading wants to have a look at it, my email is in my profile and I can send you a copy "on the sly". :-) I have a couple of other improvements in mind. One is to add a bit of spacing inside parentheses, curly braces, and square brackets, but I'm pretty happy with the font as it is so far.
- matj1 3y agoAfter some time of happily using Input Sans Narrow, I switched to Recursive for programming. Recursive is a variable typeface with five axes, notably monospacedness and casuality. It is the only typeface with continuously adjustable monospacedness AFAIK. There is also a configuration tool which freezes the axes on specified values for every font (normal, italic, bold, bold italic) and may add programming ligatures. https://www.recursive.design/ https://www.recursive.design/ https://github.com/arrowtype/recursive-code-config https://github.com/arrowtype/recursive-code-config