Programming Fonts – Test Drive
271–280 of 289 posts
Re: Programming Fonts – Test Drive
#272It drives me crazy when fonts look at the old convention of "strike through zero" and for some reason decides they need to be different from the convention and allow the strike to pass the edges of the zero circle. "Anka/Coder" in the linked article is guilty of this. When the strike passes the edge of the circle, it's no longer a zero, it's a Danish or Norwegian "Ö" (Ø). It's been a part of their alphabet for centur…
Re: Programming Fonts – Test Drive
#273Earlier quoted context omitted.
Thanks very much for this, klageveen! I chose my default mono font the hard way and wish I'd known about your site back then. Even so, comparing each font on your site affirmed my choice (Hack ftw). I'll be back, though, and will check out your blog in the mean time.
After going throw the list and trying out many of them in my editor, I also picked Hack. What a beautiful font, even in surprisingly small sizes.
Re: Programming Fonts – Test Drive
#274Earlier quoted context omitted.
Naive Danish speaker here. It is really jarring to look at, and is completely indistinguishable from ø. It is not that I cannot infer its meaning from the context, but it just stands out as a typo on first look and is really distracting. It surely would prevent me from using the font.
Good thing Danish doesn't have A through F, or you wouldn't be able to stomach hexadecimal.] Likewise with O; the commonplace zero with no slash would likely look like a jarring typo also, if Danish had that letter.
Hexadecimal requires being able to identify 'A', 'B' etc. as 'A', 'B' etc. It happens that they're assigned a different value/function then for their alphabetic use. The point is that there isn't another numerical symbol that is easily confusable with 'A'. (Of course there's l33t '4', but the two symbols are pretty distinct in most typefaces.)
tldr; Being able to be used to represent a numeric value isn't the same thing as being easily confused for a different symbol, with a different value that also represents a numeric value.
Re: Programming Fonts – Test Drive
#275I've been using DejaVu Sans Mono for quite some time. It's a nice font. It used to be the default monospace font in KDE, until they switched to Noto Mono. Autohinting setting for fontconfig makes it look better for me: DejaVu Sans Mono true
Same here. I always check out some new fonts when a conversation like this appears on HN, but in the end I never found real improvements. I did, however, start testing Ubuntu Mono the last time I compared fonts. Ubuntu Mono is pleasant to look at, like DejaVu, but it takes much less horizontal space, which helps a lot with dual side-to-side text editors.
Conversely I like almost everything about Fira Code, except the weird serif-ed lowercase "r" looks so out of place to me it kind of spoils the entire thing.
But then again I think if I tried Fira for a week or two, I'd stop noticing and no longer care. It's so very subjective.
Re: Programming Fonts – Test Drive
#276My favourite for a few years now is a commercial font, Triplicate. It’s a true serif monospace font; every other monospace font I’ve encountered that is labelled “serif” is actually a slab serif. It has a proper italic face as well, which is a less rare, but it’s a functional italic face rather than ornamental. It comes with some interesting variants, most notably Poly which is not fully monospaced, adjusting the wid…
Even though it's a reasonable price for a commercial font, I can't really justify spending $99 on a coding font just for writing code. I might get tired of it after a few weeks. But if I were to write a programming book, I just might consider it for print.
Re: Programming Fonts – Test Drive
#277Great site, but one request: Please make the up/down keyboard arrows switch to the prev/next font (rather than just scrolling the list of fonts). That way I could keep my eyes on the code window to really feel the change. Currently, having to visually bounce from code window to font selection window and back slows me down and makes it harder for me to compare fonts.
I think it would also be good to mark them as you look down the list, then filter the list and work down it again, marking more until you are left with just one.
For this list of programming fonts, I could first select (mark) a bunch that just match my general taste (shape, weight, x-height). Then I would be able to easily switch between my selection/shortlist to inspect more detailed differences such as how numbers are aligned with respect to brackets and operators, or whatever.
Currently it's a bit hard to do if you have to keep a mental shortlist of fonts you like enough for further inspection, to remember which ones to check back on (especially if you see some names for the first time).
Regardless, it's a really cool site, great resource, and already the comparing mechanism is pretty nice!
Re: Programming Fonts – Test Drive
#278Earlier quoted context omitted.
Good thing Danish doesn't have A through F, or you wouldn't be able to stomach hexadecimal.] Likewise with O; the commonplace zero with no slash would likely look like a jarring typo also, if Danish had that letter.
> Good thing Danish doesn't have A through F, or you wouldn't be able to stomach hexadecimal.] Hexadecimal requires being able to identify 'A', 'B' etc. as 'A', 'B' etc. It happens that they're assigned a different value/function then for their alphabetic use. The point is that there isn't another numerical symbol that is easily confusable with 'A'. (Of course there's l33t '4', but the two symbols are pretty distinct…
Normally, the numeric symbolism that is attached to A is the concept of primality, firstness, not tenth-ness.
Consider: "Grade A", "A-1 Contracting Co.", "Type 'A' personality", "AAA stock"...
A is not just being the usual A in hexadecimal.
Re: Programming Fonts – Test Drive
#279Earlier quoted context omitted.
> Good thing Danish doesn't have A through F, or you wouldn't be able to stomach hexadecimal.] Hexadecimal requires being able to identify 'A', 'B' etc. as 'A', 'B' etc. It happens that they're assigned a different value/function then for their alphabetic use. The point is that there isn't another numerical symbol that is easily confusable with 'A'. (Of course there's l33t '4', but the two symbols are pretty distinct…
I don't agree; hexadecimal requires being able to identify A as the tenth element of the sequence of the natural numbers. Normally, the numeric symbolism that is attached to A is the concept of primality, firstness, not tenth-ness. Consider: "Grade A", "A-1 Contracting Co.", "Type 'A' personality", "AAA stock"... A is not just being the usual A in hexadecimal.
But the issue under discussion is being able to just do basic discrimination between characters – a necessary first step before associating them with their relevant value (e.g. as the tenth element of the sequence of natural numbers).
So the issue with say, ∅ vs Ø,ø (where the first is a 'slashed zero' and the second two are the Scandinavian letter glyphs, is not (in)ability to assign the correct value in the given context (e.g. alphabetic vs hexadecimal) but in being able to discriminate which symbol it is to begin with.
Re: Programming Fonts – Test Drive
#280Earlier quoted context omitted.
I don't agree; hexadecimal requires being able to identify A as the tenth element of the sequence of the natural numbers. Normally, the numeric symbolism that is attached to A is the concept of primality, firstness, not tenth-ness. Consider: "Grade A", "A-1 Contracting Co.", "Type 'A' personality", "AAA stock"... A is not just being the usual A in hexadecimal.
Of course, but I'm assuming anyone using hexadecimal understands what the glyphs represent when they're used as part of a hexadecimal number representation. But the issue under discussion is being able to just do basic discrimination between characters – a necessary first step before associating them with their relevant value (e.g. as the tenth element of the sequence of natural numbers). So the issue with say, ∅ vs…
"zero" and "oh" are in fact the same symbol, just like A is the first letter of the Roman alphabet, and the number ten in hex, and just like a slashed circle is the empty set, the Scandinavian letter, or the slashed zero in computing.
In Unicode, we have multiple versions of some symbols which are dedicated those specific uses; there is a dedicated empty set, dedicated Scandinavian Ø and so on. ASCII already splits the O symbol into a dedicated 0 digit and O letter. Those being different codes allows font designers to play games with styling them differently.
OP doesn't like the fact that in some fonts, the slashed computing zero has a stroke that extends past the boundaries, because then they experience an Ø (zero) vs Ø (letter) crisis. I say, it's exactly the same crisis as O (zero) vs O (letter); just suck it up like the rest of the world.
OP claims that it's "no longer a zero"; but according to whom? There is no standard that the slashed zero of computing must not have a slash which extends outside of the oval. the slashed zero is an ad hoc concoction in computing that fontographers style in their own way. The font I'm typing in now renders ASCII zero as having a dot in the middle. Maybe there is a script somewhere in the world where that looks like a letter; oops!
I agree there could be such a rule; whether a stroke touches or crosses another one is significant. These are totally different characters, after all: 由, 田. In western writing, we don't fuss quite that much. For instance the horizontal stroke of A sometimes extends outside of the frame. The top may be squared off or round.