4 ms·
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 sentenc
by lucb1e 10mo 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 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%252FO%20tasks%20languish 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=10%20I%252FO%20tasks%20languish 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=10%20I%252FO%20tasks%20languish https://fonts.google.com/specimen/IBM+Plex+Sans?preview.text... (it has an unusual capital Q style though)
- munchler 10mo agoThat’s a lowercase “L” vs. uppercase “I” for those of you as confused as I was.
- quantummagic 10mo agoHe 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 10mo agoThanks, the "1" does look different. The font does have font-variant-numeric: slashed-zero
- cloudflare728 10mo agoWhy 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 10mo agothey probably deem it as not important. "Context is all you need to tell the difference, keep the font clean"
- adrian_b 10mo agoContext 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 10mo agoTo 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 10mo agoThat 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 10mo agoI have a few CSS overrides for some websites to turn all input boxes into monospace fonts. It is far easier to use them then.
- jorvi 10mo agoAlmost 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.
- chiefalchemist 10mo agoI believe this font does https://fonts.google.com/specimen/Atkinson+Hyperlegible https://fonts.google.com/specimen/Atkinson+Hyperlegible
- davoneus 10mo agoAs does their recently published: Atkinson Hyperlegible Next. https://fonts.google.com/specimen/Atkinson+Hyperlegible+Next https://fonts.google.com/specimen/Atkinson+Hyperlegible+Next
- fooqux 10mo agoI don't understand why we moved away from this. Is it simply aesthetics, or was there something else at play here?
- deleted 10mo ago[deleted]
- parkersweb 10mo agoMany 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.
- apt-apt-apt-apt 10mo agoOne would think that this would be a fundamental principle in font design, distinguishing letters from each other.
- samoyy 10mo agoIt’s just not a common enough feature of handwriting, I assume.
- amoshebb 10mo agoYes, 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 10mo agoI 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 10mo agoYou can generally just add a little rightward hook at the base. (Which is what the Ubuntu font above does)
- wongarsu 10mo agoIs 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
- GaryBluto 10mo ago> I've stopped picking fonts that don't distinguish lowercase l and uppercase I. Serif fonts solved this problem generations ago.
- adrian_b 10mo agoYes, 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 10mo agoIt’s comments like these that make me love HN. Thank you.
- giancarlostoro 10mo agoI 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 10mo agoExcept 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 10mo agoWe used it especially for user input fields if I remember correctly.
- 3eb7988a1663 10mo agoNot 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 10mo agoIf the font doesn't support ligatures, it might as well be generated by AI.
- Marazan 10mo agomonofur - my monospaced programming font of choice for decades now has an almost psychotic dedication to glyph disambiguation, every character is exceedingly distinct.
- BrandoElFollito 10mo agoIt'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 10mo agoYeah, 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.
- chiefalchemist 10mo agoLately I’ve become a fan of: https://fonts.google.com/specimen/Atkinson+Hyperlegible 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 10mo agoI mean, how can you not like it? It's hyperlegible!
- worble 10mo agoHello 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.
- dialogbox 10mo agoI also agree with you on the O0 I'll distinctions importance. So as google open-source it, someone can improved it freely.
- lucb1e 10mo agoIt'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
- mytdi 10mo agoI 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.
- danso 10mo agoOne 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 10mo agoI had always wondered if that happened because of a proliferation in folks named EionMusk.
- snug 10mo agoWhen 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"
- thaumasiotes 10mo 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?
- 8cvor6j844qw_d6 10mo 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 10mo agoTo 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
- Brajeshwar 10mo agoThis 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/ https://rsms.me/inter/ 2. https://en.wikipedia.org/wiki/Atkinson_Hyperlegible https://en.wikipedia.org/wiki/Atkinson_Hyperlegible 3. https://vercel.com/font https://vercel.com/font
- BrandoElFollito 10mo agoAtkinson Hyperlegible is great, shame that there is no monospaced version. And the slash on the 0 is backwards :)
- Brajeshwar 10mo agoMono https://www.brailleinstitute.org/freefont/ https://www.brailleinstitute.org/freefont/ https://github.com/googlefonts/atkinson-hyperlegible-next-mono https://github.com/googlefonts/atkinson-hyperlegible-next-mo...
- nektro 10mo agohttps://fonts.google.com/specimen/Atkinson+Hyperlegible https://fonts.google.com/specimen/Atkinson+Hyperlegible https://fonts.google.com/specimen/Atkinson+Hyperlegible+Mono https://fonts.google.com/specimen/Atkinson+Hyperlegible+Mono
- eviks 10mo agoIndeed, 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"
- left-struck 10mo agoIt 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