Skip to content(if available)orjump to list(if available)

Google releases its new Google Sans Flex font as open source

lucb1e

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)

apt-apt-apt-apt

One would think that this would be a fundamental principle in font design, distinguishing letters from each other.

samoyy

It’s just not a common enough feature of handwriting, I assume.

amoshebb

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

parkersweb

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.

jorvi

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.

GaryBluto

> I've stopped picking fonts that don't distinguish lowercase l and uppercase I.

Serif fonts solved this problem generations ago.

adrian_b

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.

JumpCrisscross

I just wanted to say it’s comments like these that make me love HN. Thank you.

munchler

That’s a lowercase “L” vs. uppercase “I” for those of you as confused as I was.

cloudflare728

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?

virtue3

they probably deem it as not important. "Context is all you need to tell the difference, keep the font clean"

quantummagic

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.

tln

Thanks, the "1" does look different. The font does have font-variant-numeric: slashed-zero

3eb7988a1663

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?

radley

If the font doesn't support ligatures, it might as well be generated by AI ;-P

giancarlostoro

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.

torbengee

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. :)

adrian_b

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.

amelius

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 :)

pdimitar

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.

3eb7988a1663

There is also CodingFont if you want to do a tournament selection to find your preference.

https://www.codingfont.com/

YesBox

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

tasuki

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...

freedomben

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

adrian_b

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.

xnx

I hadn't noticed they added more font variable controls to Google Fonts: https://fonts.google.com/specimen/Google+Sans+Flex/tester

ericmcer

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!

lucb1e

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

xigoi

You need to make sure people can’t read the actual content so that they’ll focus on the ads.

Gualdrapo

And it's quite cool (and uncommon, in my experience with variable fonts) they're adding a control for roundness

tigranbs

Ahh, this is great! Finally, I can use the `font-stretch` CSS property to make some text components more expressive.

hathawsh

> 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.

wasting_time

Perhaps they are trying to improve the Gemini performance on https://clocks.brianmoore.com/ .

kridsdale1

The earliest CRT terminals were round.

hbn

Maybe a good excuse to get back into playing around with Coldtype again

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

Svoka

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.

eahm

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 Monospaced font... talking about monospaced fonts.

Funny enough I think Reddit Mono is a very good monospaced font too.

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

elevaet

Are there any great variable and open serif web fonts around?

vincent-manis

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.

16bitvoid

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.

levocardia

Both Plex variants are really wonderful fonts

CharlesW

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...

jszymborski

Inter is pretty great.

numbers

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.

alberth

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

hu3

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...

alterom

That's the kind of Flex I'm happy to see from corporations like Google.