In defense of user-defined web fonts

There is a problem with web fonts. They are big in size. That’s why we have invented woff2 which uses brotli to compress them as efficiently as we know. But, I claim: it’s not enough—they are still unjustifiably big.

The problem starts with humans having languages with uncountably many different characters. A webfont can be efficiently small if it includes characters only for the latin script. But what if I want to write Greek? Or Korean? Or Tamil? Something semi-terrible happens then. Thankfully, (probably) the text will still be displayed because the browser will fall back to another font for the characters the webfont of choice does not define. This will probably be a system font, which means it will probably define lots and lots of characters for all scripts. But, terribleness will strike when the style of the fallback font is completely different from the style of the primary font. You can see an example of said terribleness here. This indeed sucks—so much that I’d rather not use webfonts at all.

At the same time, I feel you dear reader, it is an important touch for one to choose their typeface for their design. While building, I oscillated between using or not using a custom font. In the end, I opted for the user’s system fonts.

It makes me sad that I cannot show everyone the beauty of Century Supra or EB Garamond. But it makes me happy that (i) my blog platform is insanely fast and (ii) I let my users choose their own fonts.

Since I use font-family: serif, the fonts used to display my website’s text is defined in each user’s browser preferences. In my browser, for example, I have set that to Baskerville. This way I can see the typeface I like for all these websites that define font-family: serif. Yes, they are not many—and no, I don’t care that it’s only my own.