3 ms·
If you don't use custom fonts and strictly system fonts, you get a lot of performance benefits; which may seem minor, but multiple this by tens of millions of p
by azemetre 4y ago
If you don't use custom fonts and strictly system fonts, you get a lot of performance benefits; which may seem minor, but multiple this by tens of millions of people and you're talking about a real world climate impact here.
If the choice is between style vs performance, we should always default toward performance. Besides many OS's have added more system fonts throughout the last two decades. If anything we need to encourage OS's to have more interfont operability (if that's a word), I don't know the legal ramifications (there's gotta be one) but there's no reason why the most popular google fonts couldn't be included in various OS's.
Obviously I'm not an OS dev, so I'm curious if the limitations are purely legal or implementation.
- lelandfe 4y agoBrowsers are actually going the opposite way now, and are locking down access to system fonts beyond a standardized list: https://wicg.github.io/local-font-access/ https://wicg.github.io/local-font-access/ This is to prevent fingerprinting of users (adding new browser-accessible fonts would sadly mean more accurate fingerprinting)
- azemetre 4y agoWow, I had no idea. Thanks for the info but this is beyond disappointing.
- xigoi 4y agoI'm wondering, would it be possible to add a mechanism that would allow JavaScript to get information like the list of fonts, but make it impossible to send it anywhere? Have the list wrapped in some special type that infests everything it touches and things that perform requests will refuse to send it.
- chrismorgan 4y agoThis is fundamentally impossible to implement in anything anywhere near as powerful as JavaScript, because of side-channel attacks <https://en.wikipedia.org/wiki/Side-channel_attack https://en.wikipedia.org/wiki/Side-channel_attack>. (In practice, you wouldn’t even get that far, because universal taint checking would certainly be deemed unacceptably expensive. You can get away with such stuff for individual types, like in Trusted Types kinda, but imposing it on the entire language is not going to fly.)