Hacker News new | ask | show | jobs
by nwallin 1782 days ago
It's wild to me that on both Windows and OSX that something that is obviously just personal preference is baked into the operating system, with no method for changing it. It's on the same level as having an operating system that didn't let you change your desktop background.
8 comments

Optionality is one of those things that product managers hate right now, so the likelihood of that appearing if it hasn't already are slim

That said, Windows has highly configurable font hinting/rendering so I'm perplexed as to why this project is a thing

Exactly. Since the beginning of ClearType there's been a tool in Windows to adjust the ClearType hinting. I've used it many times myself. However, as stated before, it's much less necessary with high resolution displays.
Windows is slowly losing configuration. From the very first versions you had complete control over fonts, colours, and sizes of UI elements, then starting with Win8 they removed that, and now in Win10 it's very hard to change something like the font for icons and the (horribly low contrast) taskbar button highlight colour.

It's still possible to force (most of) it to the good old MS Sans Serif and with no antialiasing, the way I like it, but it's getting harder with each new version.

It's configurable but you still can't configure it to anywhere near macOS's rendering - you can turn down hinting from 11 to like 9.5.
> something that is obviously just personal preference

I have a feeling that this exact idea is the reason why most Linux DEs look like crap [to me]. The way fonts look (especially those used in the system UI) is, just like colors or margins, [in my opinion] a matter of design, not just personal preference.

Design is is just what creators do on one end to satisfy the aggregate of personal preference in the target context and audience on the other end.
applies to most open source ux, because noone is allowed to take command which also does a good job of it.

blender is a notable exception, though.

Blender really has turned around in the last few years UX wise. It used to be the go to punching bag when complaining about OSS with bad UX.

See Krita for another OSS project with great UX.

As soon as you realize that changing rasterization strategies alters the bounding box of character textures, and that a lot of UI positions are hardcoded, it makes sense.
Hardcoding UI positions is one of those "you're doing it wrong" sorts of things. At my day job, both the UX/UI folks and the localization folks would have a conniption if I built something with hardcoded UI positions/sizes, or that broke if the size of a string changed. As soon as you have a user with a hidpi display your application is going to look like garbage. As soon as you want to try to support non-English languages all your hardcoded UI work goes out the window.
> As soon as you have a user with a hidpi display your application is going to look like garbage.

And this is what my yearly-or-so foray into Windows shows up - most apps look like garbage. The handling of displays with different DPIs connected to one machine is even worse. This has even been a solved problem _on Linux_ for quite some time.

This likely isn't much of an issue for the operating systems themselves, as they are well globalized and (in my experiences with Windows) adapt fine to RTL and CJK scripts.

Third-party apps, on the other hand, do seem rife with clipped text, even in English at nonstandard DPIs.

Edit: Ah, this was already said by the existing sibling comment.

I believe Windows's approach is localisation not globalisation. Many programmes runs properly only in designed locales, not that programmes run well in any locale.

Chinese/Korean rendered incorrectly on English UI because system hardcoded a font fallback, which put Japanese font first, regardless of how languages are ordered in the Settings. This is largely true for traditional Win32 programmes, like Chrome, Edge, Explorer.exe, etc. However UWP apps using the new UI framework (like Unigram, Intel Command Centre etc) behave correctly if setting Chinese/Korean as secondary language.

It's different on macOS or iOS however, if you set a system locale order as 1. English, 2. Chinese, then Chinese content will render correctly with correct Chinese system font PingFang.

Another issue that is also very important is that Chinese (Simplified or Traditional), Korean and Japanese share amount of the same characters but written differently. That means system must render the glyph in correct variant, like in the example of Source Han Sans

https://github.com/adobe-fonts/source-han-sans/raw/release/S...

> changing rasterization strategies alters the bounding box of character textures

This is big problem on Windows, where the heavy-handed hinting means actual font size doesn't even come close to being linearly related to requested font size. So you can't even make the simple assumptions such as that the same UI layout will work if you render everything at 2x for a high DPI screen.

There's an Adjust ClearType Text entry in the Start Menu that runs a wizard to tune how the anti-aliasing is configured. It asks you which options looks best.
At the same time, everything could be reconfigured at will, but if you can't provider a consistent UX, that wouldn't help a whole lot with sales and customer binding.

How much you can, or can't modify as an end-user probably relates to the HIG and general usability and transferability as well.

In some ways, there have been cases where you cannot change the background of things, or at least not in an obvious way. I suppose it really depends on the specific user and their user-case to have that matter (or not matter at all).

Or in other words - software isn't written to be used, it's written to be sold
This is a good explanation for why open source projects sometimes deliver something more useful - when they are written to be used.
Yep, but it does depend on what you are selling, or what you 'say' you are selling.

Within UX you can focus on many things, be it an abundance of choice vs. known defaults, aesthetic vs. utilitarianism, CAPEX vs. OPEX etc.

I remind you that Microsoft did in fact release an operating system where you couldn't change the desktop background, Windows 7 Starter.
easily change the background, that is; registry editing and even binary patching are pretty common amongst Windows power users. (Why a power user would end up with Win7 starter is a different question. But a quick search shows that it can be done, they just removed the GUI.)

Edit: for those who don't believe me for whatever reason, https://www.howtoguides.org/change-your-desktop-background-i...

What if I want my window buttons on the bottom instead of the top?

What if I want my taskbar in the middle of the screen instead of the top or bottom?

What if I want textboxes to have flashing orange outlines around them?

What if I want the close button to be blue instead of red?

What if I want the Finder face to be a sad face instead of a smile?

Customizability needs to end at some point. Technical details about font rendering is not important to 99+% of users and is only confusing.

Sure, there should be a line somewhere, but not allowing the user to enable/disable hinting is obviously on the wrong side of the line. If it wasn't, we wouldn't have half the comments on this post opining about Windows vs OSX font rendering.
MacOS > System Preferences> General > Untick 'use font smoothing when available'