Google releases its new Google Sans Flex font as open source

(omgubuntu.co.uk)

227 points | by CharlesW a day ago ago

109 comments

  • lucb1e a day ago 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)

    • Brajeshwar 19 hours ago ago

      This is an Interface font, most suited for User Interfaces (Websites, Apps, etc). Almost all fonts that I have seen that distinguish the “O0 & Il” properly do not look good when used as an Interface font, but look good as an editor or something you do with it (Notes).

      For instance, I set Inter[1] as my UI font in Obsidian, but I have set “Atkinson Hyperlegible Next”[2] as my Editor Font. I would gladly use such clean sans-serif fonts (Inter, Flex Sans, Geist, etc.)[3] because they are easy for the human eye to read quickly, even if there is a spelling error, and hence the distinction between the “O0 & Il” would not matter.

      So, It Depends on the use case. “Atkinson Hyperlegible Next” is a fantastic, highly readable/recognizable font, but it will look pretty ugly when using it to design interfaces.

      1. https://rsms.me/inter/

      2. https://en.wikipedia.org/wiki/Atkinson_Hyperlegible

      3. https://vercel.com/font

    • apt-apt-apt-apt a day ago ago

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

      • samoyy a day ago ago

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

        • wongarsu a day ago 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

        • amoshebb a day ago 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

          • thaumasiotes a day ago ago

            I can see how you'd do an especially I I. You just need to include the serifs, which I always do in handwriting anyway.

            But how do you emphasize a lowercase 'l'? The only method I know is to make it cursive, which looks terrible.

            (I don't really need to distinguish l from I, because I put serifs on I. But I do sometimes need to distinguish it from 1; in natural writing, 1 and l are identical.)

            • mjmas a day ago ago

              You can generally just add a little rightward hook at the base. (Which is what the Ubuntu font above does)

    • jorvi a day ago 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.

    • parkersweb a day ago 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.

    • worble a day ago 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.

    • GaryBluto a day ago ago

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

      Serif fonts solved this problem generations ago.

      • adrian_b a day ago 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.

        • JumpCrisscross a day ago ago

          It’s comments like these that make me love HN. Thank you.

    • munchler a day ago ago

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

      • cloudflare728 a day ago 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?

        • virtue3 a day ago ago

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

          • adrian_b a day ago 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.

            • Hupriene a day ago 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.

              • adrian_b a day ago 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.

                • mjmas a day ago ago

                  I have a few CSS overrides for some websites to turn all input boxes into monospace fonts. It is far easier to use them then.

          • lucb1e a day ago ago

            Then they can also coalesce the digit 1 into uppercase i and lowercase L because who cares right it gotta look clean. And why bother deviating from the perfect circle? The future is lowercase o, also for zeroes. Heck, why do we have the letter J anyway? Couldn't we merge that with I? It's so rarely used, it sounds iust about the same, let's iust "keep it clean"

            I really can't imagine this is the thinking

            • BoiledCabbage 2 hours ago ago

              It's funny I thought out a post, wrote it in my head and then scrolled a bit further and read (where you wrote it). The only difference was I choose upper-case "G" and making it a "C" instead of "J" to "I". We can also make it match open paren as well.

              But yeah this whole thing seems absurd of removing the distinguishing marks on things whose only purpose is to allow us to distinguish them.

              While were at it N can become \ and M as well. D can become close paren. Q can become O.

              And entire font of just vertical bar, horizontal bar, open paren, close paren, forward slash, backslash and a circle. Just think of how clean it would look...

          • eviks 15 hours ago ago

            Except they're not keeping the font clean, just less legible

      • quantummagic a day ago 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.

      • tln a day ago ago

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

    • snug a day ago 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"

    • 3eb7988a1663 a day ago 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?

    • 8cvor6j844qw_d6 19 hours ago ago

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

      Strongly agree on this, Bitwarden previously used a font that made passwords that contains i (or was it I?) and l difficult to distinguish.

      It seems they changed the fonts since the recent UI refresh.

      • BrandoElFollito 10 hours ago ago

        To be honest, the key purpose of Bitwarden is to make your password as little readable as possible :)

        (Yes, yes, I know about passphrases or multi-word passwords)

        I think I needed ince to spell my password, and a chose a letters-only (small case) shorter one, or multi-word

    • left-struck 13 hours ago ago

      It seems like such poor design to make those letters indistinguishable from each other.

      For me it comes up often as names of people or places, because those are more likely to be in a font that doesn’t distinguish and also there is no additional redundancy

    • mytdi a day ago 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.

    • eviks 15 hours ago ago

      Indeed, and you'd think that over many decades of font design some basic fails like this would not happen as they'd be against the fundamental rules "that every single font designer knows by heart"

    • chiefalchemist a day ago 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.

      • dogmatism 21 hours ago ago

        I mean, how can you not like it?

        It's hyperlegible!

    • giancarlostoro a day ago 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.

      • adrian_b a day ago 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.

        • giancarlostoro 6 hours ago ago

          We used it especially for user input fields if I remember correctly.

    • danso a day ago 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

      • DHowett a day ago ago

        I had always wondered if that happened because of a proliferation in folks named EionMusk.

    • dialogbox a day ago ago

      I also agree with you on the O0 I'll distinctions importance. So as google open-source it, someone can improved it freely.

      • lucb1e a day ago ago

        It's not that level of open. You can't just do a pull request, not only because there's no infrastructure for it but because you also need to change the name. It becomes a different product.

        > No Modified Version of the Font Software may use the Reserved Font Name

        And if you are fine changing the name and releasing it as a separate font, you might as well just type "Ubuntu" and discover that this font already does what you want!

        I really don't see the point of designing a font that is worse than what's already out there. What is Google trying to achieve here? Just another headline, giving something openly to the world, good brand publicity? Seems like an expensive way to do it so probably not, but then why

    • radley a day ago ago

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

    • thaumasiotes a day ago ago

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

      I think the right answer here is to avoid including 1/I/l/O/0 in your tokens. For example, I'm pretty sure that Nintendo gift card codes can't contain those characters?

    • Marazan a day ago ago

      monofur - my monospaced programming font of choice for decades now has an almost psychotic dedication to glyph disambiguation, every character is exceedingly distinct.

      • BrandoElFollito 10 hours ago ago

        It's really nice, but unfortunately no ligatures.

        I use Fira Code (like many) and it is very readable as well. But yours is indeed perfect

        • Marazan 4 hours ago ago

          Yeah, there are a bunch of caveats about monofur and ligatures is one of them. For me I don't care for ligatures so it doesn't affect me but would obviously be a show stopper for others.

  • torbengee a day ago 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. :)

    • amelius a day ago 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 :)

      • pdimitar a day ago 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.

        • ashton314 a day ago 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).

          • pdimitar a day ago ago

            Nice blend, thanks.

            Ubuntu Mono remains undefeated for now for me though.

        • amelius a day ago 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)

          • pdimitar a day ago 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.

      • 0xfab1 a day ago ago

        It's also what I've settled into, after using Consolas, Fira Code, and Inconsolata.

    • adrian_b a day ago 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.

    • 3eb7988a1663 a day ago ago

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

      https://www.codingfont.com/

    • spankalee a day ago ago

      Google Sans isn't a coding font though.

    • purplehat_ a day ago 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 :)

    • ziml77 21 hours ago ago

      Funny, that's my one of my least favorite monospace fonts. My favorite is PragmataPro. I love how the characters are compact yet very readable.

    • YesBox a day ago 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

  • freedomben a day ago 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

    • adrian_b a day ago 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.

  • xnx a day ago ago

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

    • ericmcer a day ago 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!

      • lucb1e a day ago 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

        • xigoi a day ago ago

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

    • Gualdrapo a day ago ago

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

  • hathawsh a day ago 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.

    • adrian_b a day ago 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.

    • kridsdale1 a day ago ago

      The earliest CRT terminals were round.

    • wasting_time a day ago ago

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

  • tigranbs a day ago ago

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

  • txtsd a day ago ago

    Open source? Where's the repo for its source code?

  • microflash 16 hours ago ago

    There’s also Google Sans Code, the monospace companion of Google Sans family.

    https://github.com/googlefonts/googlesans-code

  • Svoka a day ago 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.

  • hbn a day ago ago

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

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

  • tasuki a day ago 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...

  • elevaet a day ago ago

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

    • vincent-manis a day ago 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.

    • 16bitvoid a day ago 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.

      • levocardia a day ago ago

        Both Plex variants are really wonderful fonts

    • CharlesW a day ago 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...

    • jszymborski a day ago ago

      Inter is pretty great.

  • numbers a day ago 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.

    • alberth a day ago 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

    • hu3 a day ago 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...

  • crazygringo a day ago ago

    I'm very confused. This is the font that matches the Google branding, and that they started using as a UX font in Gmail, Docs, etc.

    I hate it in UX because it's so "geometric" -- works well for a logo, but not body text, so it's just a bizarre choice for UX. Unlike Roboto which continues to be great for that. (Google Sans is fine as display text though -- headings, logo, etc.)

    But my understanding was that Google wanted to differentiate its first-party apps from other Android apps with a proprietary Google font.

    But now they're opening that font up for everyone to use, so Google's apps will no longer look uniquely Google-branded.

    I'm so confused what the heck is going on over there in Mountain View.

  • aucisson_masque a day ago 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.

    • lucb1e a day ago ago

      It makes a big difference for legibility which font you pick. But I see what you mean in that, if the font is "just fine" (not trying to be fancy or, say, in futuristic style for a game or something), then why bother making yet another "just fine" font as Google has done here? There's already so many sans-serif fonts that no person could tell apart if they don't see them directly side-by-side and are asked to spot the difference. For this reason, I also wonder why this release matters at all

    • tomcatfish a day ago 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.

    • EdwardDiego a day ago ago

      According to Secretary of State, fonts can be woke now, so I guess?

  • tolerance a day ago 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.

  • alterom a day ago ago

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

  • mosura a day ago 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.

  • copperx a day ago ago

    Great, but is it free of DEI? can it be used in official documents?

    • hbn a day ago 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

      • Rebelgecko a day ago 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

    • Svoka a day ago ago
    • jrpelkonen a day ago ago

      The round variant looks like a fatty lacking warrior ethos. Unsuitable for Department of War. /s

      • EdwardDiego a day ago ago

        From now on, we're running the Army like a frat party. No fat chicks! No fuggos! And if you're a fat dude, you better be damn funny!

        -- Secretary of War ~~Pete Hegseth~~ Colin Jost.