helloSystem / hello

Desktop system for creators with a focus on simplicity, elegance, and usability. Based on FreeBSD. Less, but better!
2.3k stars 57 forks source link

Default typeface #152

Closed bitigchi closed 1 year ago

bitigchi commented 3 years ago

Having a good looking typeface as the default system font is important.

A good default typeface should be easily readable, its weight should be neither too thin nor too thick, and should be warmer in tones, not too sharp or round.

The default typeface should cover most of the world's currently used scripts. CJK support is imperative. Having to resort to a different system font for CJK scripts would hinder the look of the system a lot; this is true for Middle-Eastern and South-Asian scripts as well.

I believe below typefaces will be a better candidate than the current one:

Experimenting these fonts with different combinations, weights, and trying them in a multi-script environment might be useful. Trying out new typefaces may also help reveal the possible shortcomings of the font rendering engine.

probonopd commented 3 years ago

Hello @bitigchi and thanks for your considerations. I agree that having an excellent UI typeface is very important. Thus I have given very careful thought about it.

Thus, we have settled on one of the most popular and iconic typefaces in the world, Helvetica, a font that is so classic that a feature-length documentary film was made about it.

To be precise, we are using digital version of it from URW which is available under a suitable free license under the name of Nimbus Sans.

According to Wikipedia,

The family supports Western Europe, East Europe, Turkish, Baltic, and Romanian languages.

At least for Western Europe want a "real" Western European typeface (one that a designer would use for real-world objects, e.g., the information system of the New York subway), not a "surrogate" font that was created "only" for the screen and is not known from the real world. Especially we do not want any font coming from a technology company, but a font that has its roots in the design world.

For CJK, we are currently falling back to the Noto fonts (I think).

Why do you think that the typefaces you suggested would be better candidates than the current one?

bitigchi commented 3 years ago

I appreciate that you have given extensive thought about this. I will try to present my case as much as I can. As a disclaimer, I am 100% operating on instinct and feelings here, I have not concluded any analytic comparisons.

Current typeface is not bad per se, and from the first look it is evident that it is meant to provide a professional looking environment.

At least for Western Europe want a "real" Western European typeface (one that a designer would use for real-world objects, e.g., the information system of the New York subway), not a "surrogate" font that was created "only" for the screen and is not known from the real world. Especially we do not want any font coming from a technology company, but a font that has its roots in the design world.

I am a big fan of WE print heritage, and I am a big Helvetica fan. However, real-print typefaces generally fail to deliver better results on a display. To be eligible on a display, a typeface should present display-specific features to ease legibility and reading. I think you probably already did, but I'd recommend watching Susan Kare's interviews about designing Chicago font, and what prompted her to design it for screen, and what features she added to make it more legible.

As an example, today both San Francisco and Noto fonts both provide two variants, Display and Regular; apparently one version does not do too well on another. As you know, Apple also tried Helvetica Neue once on macOS and it did not do too well, thus prompting the switch to San Francisco (which is an excellent typeface).

Display fonts should also feel warm to the user. Current font is way too serious, to my eye it lacks proper weight (way too thin), and not warm at all. It reminds me of early 2000s Linux. I'd prefer NextSTEP to this, since the interface was at least cohesive, and it did not stick out. Maybe this is my subjective thought, but as a person who was in love with Charcoal and Lucida Grande back in the day, and absolutely loathed Windows' appearance, helloSystem does not call me to its arms.

My humble recommendation would be considering a display-typeface, not a print-typeface. In this case maybe Source Sans fonts would be a better replacement, since they were designed by professional designers, and Adobe is a reputable company in design business for decades already. But they are still print typefaces, and it still would be trial and error before settling on a decision.

probonopd commented 3 years ago

Don't be fooled by the meaning of "Display typeface".

I agree that the way Apple was using Helvetica Neue was far from ideal, but not because Hevetica is a bad typeface but because Apple chose a way too thin wariant of it. I think the weight we are using is much better suited.

To me Helvetica just oozes quality and familiarity from the real world that no other typeface does.

lillycat332 commented 2 years ago

I'd like to comment on this - I have some issues with reading, and I find Helvetica a very hard font to read on screens, the glyphs aren't particularly easy on the eyes especially for something like a system font where the user is staring at it all day. Helvetica is by no means a bad font, but it's a very hard to read font on a screen, and works much better for settings such as signage and non-body text print because of the inconsistent spacing and closed glyphs. Apple switched from it because it was hard to read and not designed for their use case, not because it's a bad font. I think a different font would make a huge difference to accessibility and readability, which are both a pretty big part of why I chose Apple in the first place

louies0623 commented 2 years ago

I found an open source and supports most of Latin & Cyrillic languages font named "Manrope font". Can it be used as a default font?

https://github.com/sharanda/manrope

image

manrope-free-font-03-580x546

probonopd commented 2 years ago

No. Helvetica is arguably the most popular font in the world and a true classic. It oozes quality and has a history: https://en.wikipedia.org/wiki/Helvetica_(film)

louies0623 commented 2 years ago

I'm not sure if you know that Helvetica's font family is proprietary(Including its name). Even though it has a beautiful history, but the font is patented. Listen to my suggestion, you have to choose other fonts that are updated and open source, because you can avoid some patent legal problems, and it has a stable community to develop, and there is room for immediate correction of errors and feedback.

probonopd commented 2 years ago

We are using an open source implementation from URW which is available under a suitable free license under the name of Nimbus Sans. (URW nowadays belongs to Monotype, the same company that owns the rights to Helvetica. So no problems to be expected.)

kettle-7 commented 2 years ago

Inter is another very good open source font to consider.

louies0623 commented 2 years ago

https://github.com/rsms/inter Indeed this is also a good solution.

lillycat332 commented 2 years ago

"It's well known" and "it has a documentary" aren't exactly the best reasons to use a font :)

probonopd commented 2 years ago

Check https://github.com/helloSystem/hello/wiki/Welcome-and-unwelcome-technologies, "Fonts". We want original fonts (or at least implementations thereof), not "surrogate fonts".

louies0623 commented 2 years ago

So are you planning to fix the height error of the original font yourself?

probonopd commented 2 years ago

So are you planning to fix the height error of the original font yourself?

Do you still see this issue somewhere?

image

This looks pretty much vertically centered to my naked eye.

probonopd commented 2 years ago

Just to try it out, this is how helloSystem would look using Inter by @rsms:

image

The vertical centering is off, this would need to be fine-tuned in the theme.

The Command symbol (and other symbols) look for sure better in Inter. And there are more weights, which comes in handy. It is probably true that readability increases and it is certainly a very professional and suitable font, but it is a "computer font", not a font known from the "real world". Tradeoffs...

I will run it locally for a while to see how I like it in daily use.

kettle-7 commented 2 years ago

I see nothing wrong with a computer font that people can read, it doesn't differ too much from standard sans serif, but it definitely is more confortable, being somebody with poor vision, than the likes of Helvetica.

louies0623 commented 2 years ago

20211105_032307 The height of the original font is not aligned with the inter supplementary font. It is very easy to make users feel unbalanced. Please observe this.

probonopd commented 2 years ago

You have great eyes for spotting these things. :+1:

In fact, I've had the impression all along that the baseline for Nimbus Sans is too high while the one for Inter is too low.

Indeed the shortcuts are 2 pixels below the text on the left hand side.

image

But then, the Nimbus Sans characters on the right-hand side next to the Inter symbols are aligned and on the same baseline as the symbols. I am puzzled.

Now I'd say this is a bug somewhere, but where?

louies0623 commented 2 years ago

A string of text should only use one font (in European text). If you use two different characters in a string of text, the height will be misaligned. And your previous screen is more comfortable than it looks. 138583182-c696f6f6-d975-43cb-bf44-67b9e2bcda60

louies0623 commented 2 years ago

Then I have one more thing for you to pay attention to. Have you found that only non-European fonts can be arranged very neatly? If there is, it is because of different fonts. As mentioned earlier, the height of the old fonts is too high, which causes how to align Will be wrong 68747470733a2f2f6d69726f2e6d656469756d2e636f6d2f6d61782f3331382f312a416f5a54747a48434b41497449654a624f6a787073412e706e67 .

probonopd commented 2 years ago

Yes, this is driving me crazy but I am still not 100% sure where the bug is.

probonopd commented 2 years ago

And your previous screen is more comfortable than it looks.

That was an experiment using Inter for everything. But note that on that screenshot, the text in the menu sits too low. Nuts!

louies0623 commented 2 years ago

The words on the menu were adjusted down because the old text was too tall, so if you switch the font, it looks very low. This should be the reason.

lillycat332 commented 2 years ago

It is probably true that readability increases and it is certainly a very professional and suitable font, but it is a "computer font", not a font known from the "real world".

The vast majority of users, even those who are more graphics-design-inclined, will not judge the font based on whether it is known "from the real world", but rather on whether they can read it and if it looks nice. While Helvetica is a very professional and certainly well known font, it's very well documented, with there being countless articles on why you shouldn't use it in UI/body text/your CV/etc etc etc, because it isn't a great "body text" font and can be difficult to read for these situations. So I think rather than pick a font based on it's recognisability and history and such, we should pick a font based on how well it works as a UI font. Inter (and other fonts) certainly does a better job for text like in the UI, considering that's what it was designed for, and it isn't too dissimilar from Helvetica anyway, it's just a lot more open and readable. This is pretty much the exact same reason Apple moved away from Helvetica Neue, it's just not readable enough

probonopd commented 2 years ago

Apple used a way too thin variant of Helvetica Neue, this is why it was so unreadable. But I do have respect for Inter. At least much more than I have for Arial, DejaVu, and Liberation.

lillycat332 commented 2 years ago

It's not because it was too thin for the most part (I would argue that the lighter variant used in the OSX UI is better than a heavier variant since the size of the text was generally sized well enough to compensate for it), it's because of the closed apertures and inconsistent spacing because it was never meant to be used on a display. SF Pro used in modern macOS UI is light, yet still very easy to read all day because Apple used more consistent spacing, separate version for text and UI, differentiation between lowercase l and capital I with cap height, wider apertures (c, e) and wider open tails like on t, the punctuation symbols are simpler, strokes in general are straighter and cleaner, etc.. Helvetica was just never designed with screen use in mind. This is not a failing of the font, it's just a characteristic of it's design and a consequence of when it was designed

probonopd commented 2 years ago

Pondering the use of Luxi by by Kris Holmes and Charles Bigelow from Bigelow & Holmes Inc. The Luxi typefaces are similar to Lucida – their previous font design which was used as the user interface font in Mac OS X before Apple switched to Helvetica Neue.

Readable it is, even in small sizes.

But do we like it? It does have "Mac-like" vibes, hardly surprising given that it comes from the same designer as the early Mac OS X font.

image

louies0623 commented 2 years ago

I hope you can understand the disaster of the current system, so I made this card to let you know the situation. hello reportcard_工作區域 1

louies0623 commented 2 years ago

After a few days of thinking, I think Inter should be the best choice to replace URW.Because it has to be used on the system, not to mention multiple languages and Mac keyboard key icons, we can't use a font that is defective or missing words like tabmenu's Trojitá is missing á, and only has 26 Latin letters and a simple The edge point symbol is not enough, because there will be inconsistencies when using other fonts to fill in the gaps, such as the inconsistency between the shortcut keys of tabmenu and the font of the function options.

probonopd commented 2 years ago

Where exactly do you see the missing á? Nimbus Sans seems to have it:

image

probonopd commented 1 year ago

Nimbus Sans is our default typeface.