Google releases its new Google Sans Flex font as open source
169 points
5 hours ago
| 16 comments
| omgubuntu.co.uk
| HN
lucb1e
4 hours ago
[-]
Where possible, I've stopped picking fonts that don't distinguish lowercase l and uppercase I. Words virtually always have redundancy (or context in the sentence) and it's fine in 98% of cases, but too often someone sends a token, password, name, or other string where you need to copy it out to another application to see it and just... why? Why bother?

I/O test for Sans Flex: https://snipboard.io/wXCQq5.jpg

It passes the O0 distinction but not the Il one

Example of a font that passes, Ubuntu: https://fonts.google.com/specimen/Ubuntu?preview.text=10%20I... (custom license but looks similar to GPL in that you can do what you want besides relicensing it as proprietary or removing credits)

Another one, Nunito Sans, using the Open Font License: https://fonts.google.com/specimen/Nunito+Sans?preview.text=1...

IBM Plex Sans is another Open Font License option: https://fonts.google.com/specimen/IBM+Plex+Sans?preview.text... (it has an unusual capital Q style though)

reply
apt-apt-apt-apt
3 hours ago
[-]
One would think that this would be a fundamental principle in font design, distinguishing letters from each other.
reply
samoyy
2 hours ago
[-]
It’s just not a common enough feature of handwriting, I assume.
reply
wongarsu
1 hour ago
[-]
Is it not? The style of block letters I learned (in 90s Germany) has the capital I as a straight line, the digit 1 as a straight line with an angular downward hook at the top, and the lowercase l as a line with a smooth 45-90° right hook at the bottom. I always perceived that style as quite common in handwriting, just uncommon in print (just like close to nobody does the fancy a in handwriting but it's common in print)

And of course in cursive I and l look nothing alike, no matter which cursive you write

reply
amoshebb
2 hours ago
[-]
Yes, but even with my worst handwriting, in situations where I and l matters, I can always choose to do an especially I I or particularly l l even if most are indistinguishable which a font can not do
reply
jorvi
3 hours ago
[-]
Almost no fonts do this by default and instead offer it as context alternate, but I feel a font should always use a dashed or preferably dotted zero. Zero being slightly skinnier than capital O is not enough for rapid visual clarity.
reply
chiefalchemist
1 hour ago
[-]
reply
davoneus
1 hour ago
[-]
As does their recently published: Atkinson Hyperlegible Next. https://fonts.google.com/specimen/Atkinson+Hyperlegible+Next
reply
parkersweb
3 hours ago
[-]
Many fonts have a disambiguation option. Inter by default doesn't pass the I test - but it can be enabled.

Google Flex Sans supports font-feature-settings: "zero" - but doesn't seem to support lower-case l, upper-case I disambiguation.

reply
snug
14 minutes ago
[-]
When I was in Italy, it took me far too long to realize on Google Maps that all the restaurants I was visiting started with "Il" and not the roman numeral two "II"
reply
worble
1 hour ago
[-]
Hello fellow Ubuntu font lover.

I have this set as my OS default and also forced for all webpages, I just find it so clear and easy to read. On the occasion that I have to browse the web without it, I don't struggle per-say, but I definitely find that I have to read slower, and find myself rereading words more often.

reply
GaryBluto
3 hours ago
[-]
> I've stopped picking fonts that don't distinguish lowercase l and uppercase I.

Serif fonts solved this problem generations ago.

reply
adrian_b
2 hours ago
[-]
Yes, but the way in which they have solved this is partially the reason why many sans-serif fonts suck from this point of view.

Serifs have appeared as a feature of the Latin letters of the inscriptions in stone of the Roman Empire, which are the model for the present capital letters.

On the other hand, the model for the present small letters are the letters of the manuscripts of the Carolingian Empire, written with pen (i.e. goose feather) on parchment.

The small letters originally did not have serifs. The small "l" letter had a right hook at its lower end, which distinguished it easily from an "I".

Serifs were added to the small letters, in imitation of the capital letters, only in the first books that were printed with "Antiqua" letters, in Italy, after the invention of printing.

The addition of a serif at the low end of "l" has lead to the removal of the right hook that it had previously. When sans-serif fonts were created in the 19th century, they have removed the serifs from the letters, so by removing the differently-shaped serifs from "I" and "l" they have become hard or impossible to distinguish.

The wiser typeface designers have realized that this is wrong and they have restored to small "l" the low right hook that it had at its origin in the Caroline script, distinguishing it from capital "I" even in a sans-serif font.

Unfortunately, too many sans-serif fonts have continued to perpetuate the mistake of removing the serifs from small "l" without restoring its original low right hook.

reply
JumpCrisscross
2 hours ago
[-]
It’s comments like these that make me love HN. Thank you.
reply
munchler
4 hours ago
[-]
That’s a lowercase “L” vs. uppercase “I” for those of you as confused as I was.
reply
cloudflare728
3 hours ago
[-]
Why would someone spend years developing a front where you can't tell the difference between Il or 0O? Doesn't it hurt their ego at personal level?
reply
virtue3
2 hours ago
[-]
they probably deem it as not important. "Context is all you need to tell the difference, keep the font clean"
reply
adrian_b
2 hours ago
[-]
Context solves this ambiguity in texts recording a human language, but in computer or smartphone applications it is extremely frequent to not have a context that allows disambiguation.

Ambiguous characters may have been acceptable in typefaces designed before 1990, but they are certainly not acceptable for any more recent design, unless the typeface is designed for a very specific and limited purpose, e.g. for a single advertising poster, and they will never be used for rendering arbitrary texts.

reply
Hupriene
1 hour ago
[-]
To be fair the designer who created the font would probably agree that for use cases like passwords or serial numbers etc. you should use a different font. That's the nice thing about having different fonts around. You can choose which one you want to use.
reply
adrian_b
1 hour ago
[-]
That is a solution applicable for a document or GUI created by yourself, where you can define various styles with associated fonts and use them appropriately.

However, I see the worst offenders on various Web pages (frequently for various URLs) where I do not control the typeface, unless I instruct the browser to ignore the style sheet of the rendered Web page and use my own fonts instead, which can be tedious or create other problems in the rendered page.

reply
quantummagic
4 hours ago
[-]
He inspired me to uninstall Bitstream-Vera-Sans fonts from my system so that his post was no longer a prime example of the problem.
reply
tln
4 hours ago
[-]
Thanks, the "1" does look different. The font does have font-variant-numeric: slashed-zero
reply
danso
44 minutes ago
[-]
One of the few unqualified improvements that “X” (aka Twitter) made was rendering the usernames in a font that has wings for the lowercase L
reply
DHowett
41 minutes ago
[-]
I had always wondered if that happened because of a proliferation in folks named EionMusk.
reply
mytdi
1 hour ago
[-]
I wonder why the Ubuntu and the IBM Plex Sans fonts use a different style "a" for italic vs non-italic. I like the Ubuntu font and have used it in the past.
reply
3eb7988a1663
2 hours ago
[-]
Not only must the il1 O0 series be distinguishable, but they need to stand on their own. If I only see one in isolation, can I know if that it must be a capital O and not a zero?
reply
dialogbox
1 hour ago
[-]
I also agree with you on the O0 I'll distinctions importance. So as google open-source it, someone can improved it freely.
reply
giancarlostoro
3 hours ago
[-]
I had a manager who preferred monospaced font, it definitely made it easier in a lot of cases. I also notice a number of them make i l and I and 1 distinct enough.
reply
adrian_b
1 hour ago
[-]
Except for ancient typefaces like Courier, which predate their use in computers, most monospaced fonts that have been created during the last 40 years have been intended for use by programmers or in command-line interfaces.

Therefore having non-ambiguous characters has been an explicit design requirement for them, at least since the Apple Monaco font.

reply
chiefalchemist
1 hour ago
[-]
Lately I’ve become a fan of:

https://fonts.google.com/specimen/Atkinson+Hyperlegible

Mainly for its attention to detail. It’s careful to make it obvious when it matters. For example, O and 0, lower case L and 1, and others.

reply
radley
2 hours ago
[-]
If the font doesn't support ligatures, it might as well be generated by AI.
reply
Marazan
2 hours ago
[-]
monofur - my monospaced programming font of choice for decades now has an almost psychotic dedication to glyph disambiguation, every character is exceedingly distinct.
reply
torbengee
3 hours ago
[-]
I've tried so many fonts in my coding life, but I think I've finally found my forever font: JetBrains Mono. Crisp, all characters distinguishable, slightly larger lowercase for better reading ...

I recently compared it once more to others – https://www.programmingfonts.org/ makes it easy to narrow down to your favourites one by one ... JetBrains Mono still wins. :)

reply
purplehat_
15 minutes ago
[-]
Thanks for sharing this!!

I like using silly fonts, e.g. Comic Sans Mono has been my daily driver for the past year or so, and it's really fun to see the Minecraft fonts and old DOS and VT323 fonts. If anyone's into retro computing, it's worth checking those out, particularly the website link for the IBM VGA 9x16, which has loads and loads more old fonts.

I think I'll try using Monocraft in the shell for a while and see if it works well for me, though I might stick to Comic Sans for actual coding :)

reply
amelius
3 hours ago
[-]
My favorite coding font: Iosevka Term.

https://github.com/be5invis/Iosevka

It takes a day or so to get used to the condensed form factor, but after that you can enjoy much more horizontal space in your terminal windows.

There is one downside: all the other fonts will look bulky :)

reply
pdimitar
2 hours ago
[-]
I like that family of fonts but ultimately couldn't live with how tall they are. I want to have 50-60 lines of code on my screen. With it I had 35-40.
reply
ashton314
1 hour ago
[-]
I hear you: I don't like how skinny the letterforms are. There's an "extended" variant that I find much more pleasing. I put together a customization you can see here: https://codeberg.org/ashton314/iosevka-output (there's a nice screenshot on that page).

You can probably get the proportions you want if you find a way to tweak the line spacing (also possible by adjusting the `leading` option in `private-build-plans.toml` and rebuilding).

reply
amelius
1 hour ago
[-]
From another point of view, the font is just as tall as other fonts, just less wide. So I suspect you are (maybe unconsciously) making an unfair comparison by scaling one font more than the other.

You can see an apples-to-apples comparison here:

https://www.programmingfonts.org/#iosevka

(and then put and hold your finger on the last line of text and select another font)

reply
pdimitar
1 hour ago
[-]
Yes, you are correct. When I shrunk it to have the same amount of lines as Ubuntu Mono, it was uncomfortably small.

But you are inspiring me to give it another go. Thanks.

They are beautiful fonts and are often updated, too. Clearly a lot care goes into their crafting.

reply
0xfab1
1 hour ago
[-]
It's also what I've settled into, after using Consolas, Fira Code, and Inconsolata.
reply
adrian_b
2 hours ago
[-]
I also prefer JetBrains Mono, after using a very large number of other programming typefaces in the past.

While there are a few other programming fonts with a very similar quality, for myself JetBrains Mono has a distinctive advantage: it includes a much greater character set than any other good programming font that I have ever tested (DejaVu Sans Mono also has a big character set, but it is definitely uglier), for instance it has a lot of mathematical symbols that I need.

reply
3eb7988a1663
2 hours ago
[-]
There is also CodingFont if you want to do a tournament selection to find your preference.

https://www.codingfont.com/

reply
YesBox
2 hours ago
[-]
heh, Im using this font in my game. Picking fonts is hard, and I feel like I've just dipped my toe in the water so far. Im not 100% satisfied with the non-monospace font I use (Adobe Source Sans), but I have more important things to focus on right now
reply
spankalee
1 hour ago
[-]
Google Sans isn't a coding font though.
reply
freedomben
3 hours ago
[-]
I don't love this new font as others have already pointed out, there's not enough distinction between some letters[1].

However, the general movement toward redistributable and license-friendly fonts is wonderful and I'm very happy to see it continue. As someone who has had to deal with font licensing hell in the past, having these available is a huge improvement. Even just setting up my personal linux systems and having actually usable fonts available is a massive improvement, before even getting into trying to build apps/websites/etc. Many thanks to Google and any others who are releasing these!

[1]: https://news.ycombinator.com/item?id=46247559 [2]: https://news.ycombinator.com/item?id=46247693

reply
adrian_b
3 hours ago
[-]
I agree with you, but this font is less notable for its glyph design than for the fact that you can obtain many variations of it by choosing suitable parameter values (hence the "Flex" name).

This is a feature that few, if any, open source typefaces possess.

Being open source, the same techniques can be reused in the design of another parametrized font, with less ambiguous glyphs.

reply
xnx
5 hours ago
[-]
I hadn't noticed they added more font variable controls to Google Fonts: https://fonts.google.com/specimen/Google+Sans+Flex/tester
reply
ericmcer
4 hours ago
[-]
Oh man, I already spend way too much time stressing about size & weight. This is enough toggles to let you really spend hours trying to get it perfect!
reply
lucb1e
4 hours ago
[-]
Thin weights are eyecandy, but don't forget to also decontrast the color! Nothing screams "made by a designer" like thin grey prose that, if you're lucky and they hired a professional, sits precisely at the minimum of the WCAG contrast legibility standard
reply
xigoi
3 hours ago
[-]
You need to make sure people can’t read the actual content so that they’ll focus on the ads.
reply
Gualdrapo
4 hours ago
[-]
And it's quite cool (and uncommon, in my experience with variable fonts) they're adding a control for roundness
reply
tigranbs
4 hours ago
[-]
Ahh, this is great! Finally, I can use the `font-stretch` CSS property to make some text components more expressive.
reply
tasuki
2 hours ago
[-]
Not particularly imaginative/interesting? I don't see how it's better than say Roboto. And I'm not even that huge a fan of Roboto...
reply
Svoka
4 hours ago
[-]
I am a simple person. Not a designer. But for all fonts I type 'iIlL0Oo' and if I can't tell what is what I skip it.

This font fails hard.

reply
eahm
2 hours ago
[-]
1 too: https://fonts.google.com/?preview.text=i1IlL0Oo

IMO Ubuntu Mono and Ubuntu Sans Mono are two of the best fonts ever made, comparable to Consolas, which I think it's still the best monospace font... talking about monospace fonts.

Funny enough I think Reddit Mono is a very good monospace font too https://fonts.google.com/specimen/Reddit+Mono?preview.text=i...

And Hack: https://dafont.com/hack.font?text=i1IlL0Oo

For monospace fonts only:

https://fonts.google.com/?preview.text=i1IlL0Oo&categoryFilt...

https://dafont.com/theme.php?cat=503&text=i1IlL0Oo

reply
hathawsh
3 hours ago
[-]
> as well as an axis for rounded terminals (as in terminals in letters, not command-line apps).

Now I want to see a rounded terminal (as in command-line apps, not terminals in letters.) Would I type in a circle? Sounds cool.

reply
adrian_b
58 minutes ago
[-]
Letters with rounded terminals are especially popular for public signage in a few Asian countries, e.g. Japan and Korea.

That is why Microsoft Windows has included such a rounded font for the Korean script: Gulim. On Windows, if you want to render a text with Latin letters with rounded ends, you can use Gulim for the normal text, coupled with Arial Round for the bold text.

On MacOS, there was a Hiragino Maru Gothic rounded font for Japanese (where also the Latin letters are rounded). I no longer use Apple computers, so I do not know whether the Hiragino fonts have remained the fonts provided for Japanese.

reply
wasting_time
3 hours ago
[-]
Perhaps they are trying to improve the Gemini performance on https://clocks.brianmoore.com/ .
reply
kridsdale1
3 hours ago
[-]
The earliest CRT terminals were round.
reply
hbn
3 hours ago
[-]
Maybe a good excuse to get back into playing around with Coldtype again

https://coldtype.goodhertz.com/introduction.html

reply
aucisson_masque
1 hour ago
[-]
Does it matter ?

No really, I'm not trying to be edgy. Does the font we're using to read a document matters??

Last time I checked, scientist agreed that the best for an average user is the font you're used to. Serif, sans serif,.. didn't matter. Just keep using the one you always used.

So I don't get why every so often, Google work on a new font. Pick one and stick to it, user don't care.

Or am I missing something ?

BTW, personnel opinion but the only fonts i found to really look better than anything else were apple fonts. They don't make things easier to read but they just look so nice whereas Google always feel meh.

reply
tomcatfish
1 hour ago
[-]
Yes, it matters, and big companies can do fantastic things by designing extremely expansive fonts which make it easy to include users speaking plenty of languages that we developers don't even know about.
reply
tolerance
1 hour ago
[-]
I understand that there are many good reasons not to want to use fonts where the lowercase L and uppercase I are indistinguishable.

But am I the only one who actually prefers both to be relatively identical? Or at least the lowercase L must not have any quiggles or crooks? I like em both north-south. 12:30.

I think typically the I will be a little thicker than the i for regular (text? roman?) weights and below.

reply
elevaet
4 hours ago
[-]
Are there any great variable and open serif web fonts around?
reply
16bitvoid
4 hours ago
[-]
I don't really like serif fonts, but the two that immediately come to mind are Noto Serif and IBM Plex Serif. Both are open source. I know Noto Serif is variable, but not sure about IBM Plex.
reply
levocardia
4 hours ago
[-]
Both Plex variants are really wonderful fonts
reply
vincent-manis
3 hours ago
[-]
I am very fond of Merriweather (which I recently saw on a list of over-used fonts, for those who believe that you should use a different obscure and, hopefully, hard to read font in every document). It pairs nicely with Merriweather Sans, Cascadia Code, and for math Libertinus Modern, though I do have to tweak ex-heights to match.
reply
CharlesW
4 hours ago
[-]
Lots! Start with the Google Fonts browser. This link should take you directly to a variable + serif list, and from there you can drill down into sub-styles, focus more on those with more axis, more styles, etc.: https://fonts.google.com/?categoryFilters=Technology:%2FTech...
reply
jszymborski
4 hours ago
[-]
Inter is pretty great.
reply
numbers
5 hours ago
[-]
seems like a good step towards making a variable font that allows all forms of text b/c Apple already has SF (fka San Francisco) which has many variants.
reply
alberth
4 hours ago
[-]
If you like variable fonts, no font is better at giving fine tune control than Roboto Flex (also by Google).

Has 12-axis of variables (whereas most only have 1 or 2)

https://fonts.google.com/specimen/Roboto+Flex/tester

reply
hu3
5 hours ago
[-]
yep. specially since Apple font license is quite restrictive:

> Apple restricts the usage of the typeface by others. It is licensed to registered third-party developers only for the design and development of applications for Apple's platforms. Only SF Pro, SF Compact, SF Mono, SF Arabic, SF Hebrew and New York variants are available for download on Developer website and they are the only SF variants allowed to be used by developers.

https://en.wikipedia.org/wiki/San_Francisco_(sans-serif_type...

reply
alterom
4 hours ago
[-]
That's the kind of Flex I'm happy to see from corporations like Google.
reply
mosura
4 hours ago
[-]
Now we all have high density screens serifs are going to make a comeback, if for no other reason than that new sans-serif fonts have developed this distinctly childish aura. This is not in the same league as Frutiger or Univers.
reply
copperx
4 hours ago
[-]
Great, but is it free of DEI? can it be used in official documents?
reply
hbn
3 hours ago
[-]
I assume this is a shot at the White House but announcing an "anti-racist font" is totally up Google's alley

I know I've seen Mozilla proudly pat themselves on the back in their announcement of anti-racist Firefox themes

reply
Rebelgecko
3 hours ago
[-]
Google has been "anti-woke" since January or so. See the shutdown of groups for disabled employee, Dept of War "Manifest Destiny" contract, etc
reply
Svoka
4 hours ago
[-]
reply
jrpelkonen
4 hours ago
[-]
The round variant looks like a fatty lacking warrior ethos. Unsuitable for Department of War. /s
reply