Stack Overflow switches to system fonts on May 10, 2021
meta.stackexchange.com
meta.stackexchange.com
I do purposely leave Ubuntu out most of the time, because I find it's a pretty ugly font. I'm an Ubuntu OS user myself.
In Arial, they're indistinguishable. In Roboto, you can see the difference if they're right next to each other (l is longer than I). Segoe UI has different variants but the one I've found on the MS web site has very similar or identical lI's, just like San Francsico.
I know, fixed width fonts would fix that, but not everything that should will be in those. And especially on a programming website, that matters.
Reason being that in general text we don't read based on individual letters, we recognize "shapes" of words.
That's because it deosn’t mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae. The rset can be a toatl mses and you can sitll raed it wouthit porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe.
Your Passcode is: 6234024
Is that an O (oh) or a 0 (zero). It's an Oh. Of course often in a fixed width font the zero has a slash through it but if there's no zero nearby to compare it to most people won't notice.It's pretty noticeable with the monospace font that used on my system because O is more like a circle and 0 is thinner. There is no slash, and it is fortunate because it could be mistaken with Ø otherwise.
Another option, like on my system, is that zeros have a dot in the middle.
Is it actually a zero or am I missing something?
It's even more prescient considering that on my screen, those two letters look exactly the same.
https://fonts.google.com/?preview.text=l%20I&preview.text_ty...
How is it good with the pipe? I l | 1
edit: very good. It is also good for 0, O and Ø. It is also very readable. A very good font.
Noto Mono is used for monospace, it has the same qualities. I really recommend this set of fonts.
With JuliaMono for programming I’m finally happy with fonts everywhere :).
IMO custom fonts are fine (beneficial sometimes, matching fonts used in any relevant logos and so forth) for titles and other big text, but for body text stick with something basic and/or familiar to the user.
Also, Helvetica clones exist mainly to get around licencing costs related to physical printers (if your software uses something metrically identical you can just use the existing postscript drivers). SF and Segoe are for UI text, which Helvetica is not suited to (Apple had to adjust the metrics to make it more usable, for example)
I'd say a custom font isn't important for any site. Except perhaps a font fountry showcasing their wares.
I do wish OS and/or browser vendors added more agreed system fonts though (pre-installed and ready to go). So that we have a selection of say 100 fonts guaranteed to be on Windows, macOS, Linux, iOS, Android, FreeBSD... I guess adding emojis anually is more important...
I also believe performance should trump other design aspects of a website. This means including using the default Operating System (OS) font stack over a custom font if it means faster page loads.
However, I also recognise that a carefully chosen custom font plays a big part in the aesthetics of a website. It can set the tone of the website as well as giving it a distinctive look that sets it apart from other websites. Can you imagine books, posters, magazines, films etc all set in a limited palette of available fonts? The variety of typefaces available is infinite and the printed word is immeasurably richer for it.
There are ways of limiting the download size of fonts. For example, limiting typeface weights (e.g. 3 weights only: regular, bold, italic) can amount to approx 60kb of downloads in total (20kb per font x 3 using the WOFF2 font format). That might still be too much for many developers, but I suspect that images will be larger (and possibly JavaScript too).
Print media just doesn't have any downsides to custom fonts so there's no reason to not use them.
But there is one where it did matter: the Nigerian Oil Spill Monitor [1], a data entry and exploration application I built in 2013-2019.
I did try different free fonts, and found that with Ubuntu I could read the data much more accurately so I put it there as a webfont even if I was trying to minimize the amount of data loaded. (Internet bandwidth in Nigeria was not great at the time; many of our users used the application through shared GSM links.) Maybe by now, with the application’s users having better screens and improved font rendering, it would be fine to remove the Ubuntu font. Back then, with fewer pixels, it was the best way to pack information in the screen.
[1] https://sentido-labs.com/en/portfolio/#Nigerian-Oil-Spill-Mo...
However the Droid Serif font that ships with Android isn’t boring — it’s just awkward. Blockier than Times New Roman, with serifs that jut out. Reading a page of text in it does make me notice the font — and not in a good way.
It's my (limited) understanding that that allows it to use the browser default.
If you're creating UI elements on your web page (though why aren't you using the browser's built-in form control elements?), then 'system-ui' is probably appropriate. But if you're publishing textual content (rather than UI), 'sans-serif' or 'serif' may be a better choice. Most browsers even let users configure their preferred fonts for these generic names, if they don't like the defaults.
It would be great if they were equivalent, but alas, they are not.
That's why "font-family: cursive" ends up being some crazy font on different operating systems, often, not what I would call a cursive font.
I get Comic Sans on Chrome/Windows10. I'm told you also get something ugly on MacOS, but it's at least something "cursive": https://jsfiddle.net/cfva2ehw/
[0]: https://caniuse.com/font-family-system-ui [1]: https://caniuse.com/extended-system-fonts
The macOS font is the only one which has a bar in the Q.
I've noticed the same effect when I switch to Mac and browse HN (the top bar becomes unreadable).
The user experience is that it improves the vast majority of sites, by not having to read in 80 different fonts on 100 different sites, and breaks a few sites in minor ways because some text ends up overflowing their boundaries.
It would be great if this became the norm again. Content is king!
I no longer bother since switching to HiDPI displays, but it was helpful for a while.
https://www.theverge.com/2017/7/12/15961354/pakistan-calibri...
In Firefox: Options – Language and Appearance – Fonts and Colors – Advanced… – Disable “Allow pages to choose their own fonts, instead of your selections above”
It's what I've been using for months now (and I also block web fonts using Firefox Focus' extension in iOS/iPadOS Safari). And that's even though I'm a typography geek, and have bought fonts.
Looks weird for a day or two, after that you never miss web fonts.
Make sure to select a nice default font (for example, Verdana is nice, but I'm German, and Verdana does not have a closing quotation mark for German – it's another one than is in use in English).
My setting is Constantia as default font and serif, Segoe UI as sans-serif, and Consolas as monospace.
I'm still lamenting the state of Wordpress default themes.
Twenty Twenty One (which I'm using now) also uses the system font stack, but has made weird choices. Huge post titles (48px), titles are underlined, other things make for a suboptimal reading experience.
Twenty Twenty had this really weird font experiment with a variable font (Inter) that was unreadable on some devices (the font outline was… wiggly). Of course you needed a plugin to switch it off.
Twenty Sixteen (which I was using before) is really nice, but comes with a web font.
I'd love Twenty Sixteen with support for newer developments (like those block things), but without the need for plugins to switch off the font and a few other annoyances.
Also some sites don't use common fonts which is another thing that need to be download to the device. We have over million of fonts and it is not effective to get them all downloaded to the computer eating up storage space.
https://github.com/gorhill/uBlock/wiki/Per-site-switches#no-...
This allows me to have the same font everywhere for easy readability, some sites have text overflow issues because of the bitmap fonts, other sites display the glyphs in the U+F000 to U+FFFF private use area range due to those sites using those codepoints to display arrows, boxes, and such, or sometimes other glyphs that are already covered in unicode.
for some extra info, using a 1920x1080 monitor in landscape or horizontal orientation, on linux, using i3 window manager and xst terminal emulator, you can open up 3 terminals in portrait or vertical orientation, each would have a width of 80 characters (8x80x3 = 1920) and a height of 67 characters with 8px left over.
I thought they were going to avoid sending a font when you load the page for the first time. Nope, they're going to have you re-download a font you likely already have installed.
The web just keeps finding new ways to get worse.
I'll not even go to the User Experience of the website/app but I'm appalled at who thought of having a plethora of web-fonts loaded just to render some text on it.
As a reason they cite that that Arial looks dated. I wonder why they don't simply use a web font of their choice.
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
Roboto, Oxygen-Sans, Ubuntu, Cantarell,
"Helvetica Neue", sans-serif;
}
Hopefully moving forward the browser writers will settle on a name for the system fonts, sort of like the "system" is implied with the "-apple-system" vendor specific tag in the article.It looks like the browser vendors tried with "system-ui", but screwed it up badly with Windows and designers are afraid to use it now.
Is that still the case? I see that it was an issue a few years ago, I can't find any recent info that still says to avoid system-ui. Safari and Chrome still support system-ui. The working draft for the next version of CSS has system-ui, ui-serif, ui-sans-serif, and more.
I'm looking forward to CSS defined names that just say "make me look like the system".