| ▲ | lucb1e 4 days 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 4 days ago | parent | next [-] |
| 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 |
| |
| ▲ | BrandoElFollito 4 days ago | parent [-] | | Atkinson Hyperlegible is great, shame that there is no monospaced version. And the slash on the 0 is backwards :) | | |
|
|
| ▲ | apt-apt-apt-apt 4 days ago | parent | prev | next [-] |
| One would think that this would be a fundamental principle in font design, distinguishing letters from each other. |
| |
| ▲ | samoyy 4 days ago | parent [-] | | It’s just not a common enough feature of handwriting, I assume. | | |
| ▲ | wongarsu 4 days ago | parent | next [-] | | 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 4 days ago | parent | prev [-] | | 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 4 days ago | parent [-] | | 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 4 days ago | parent [-] | | You can generally just add a little rightward hook at the base. (Which is what the Ubuntu font above does) |
|
|
|
|
|
| ▲ | jorvi 4 days ago | parent | prev | next [-] |
| 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 4 days ago | parent | prev | next [-] |
| 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. |
|
| ▲ | chiefalchemist 4 days ago | parent | prev | next [-] |
| 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. |
| |
|
| ▲ | worble 4 days ago | parent | prev | next [-] |
| 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. |
|
| ▲ | munchler 4 days ago | parent | prev | next [-] |
| That’s a lowercase “L” vs. uppercase “I” for those of you as confused as I was. |
| |
| ▲ | cloudflare728 4 days ago | parent | next [-] | | 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 4 days ago | parent [-] | | they probably deem it as not important. "Context is all you need to tell the difference, keep the font clean" | | |
| ▲ | adrian_b 4 days ago | parent | next [-] | | 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 4 days ago | parent [-] | | 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 4 days ago | parent [-] | | 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 4 days ago | parent [-] | | 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 4 days ago | parent | prev | next [-] | | 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 3 days ago | parent [-] | | 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 4 days ago | parent | prev [-] | | Except they're not keeping the font clean, just less legible |
|
| |
| ▲ | quantummagic 4 days ago | parent | prev | next [-] | | 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 4 days ago | parent | prev [-] | | Thanks, the "1" does look different.
The font does have font-variant-numeric: slashed-zero |
|
|
| ▲ | GaryBluto 4 days ago | parent | prev | next [-] |
| > I've stopped picking fonts that don't distinguish lowercase l and uppercase I. Serif fonts solved this problem generations ago. |
| |
| ▲ | adrian_b 4 days ago | parent [-] | | 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. | | |
|
|
| ▲ | snug 4 days ago | parent | prev | next [-] |
| 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 4 days ago | parent | prev | next [-] |
| 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 4 days ago | parent | prev | next [-] |
| > 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 4 days ago | parent [-] | | 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 |
|
|
| ▲ | thaumasiotes 4 days ago | parent | prev | next [-] |
| > 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? |
|
| ▲ | mytdi 4 days ago | parent | prev | next [-] |
| 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. |
|
| ▲ | left-struck 4 days ago | parent | prev | next [-] |
| 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 |
|
| ▲ | eviks 4 days ago | parent | prev | next [-] |
| 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" |
|
| ▲ | Marazan 4 days ago | parent | prev | next [-] |
| monofur - my monospaced programming font of choice for decades now has an almost psychotic dedication to glyph disambiguation, every character is exceedingly distinct. |
| |
| ▲ | BrandoElFollito 4 days ago | parent [-] | | 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 3 days ago | parent [-] | | 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. |
|
|
|
| ▲ | giancarlostoro 4 days ago | parent | prev | next [-] |
| 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 4 days ago | parent [-] | | 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. | | |
|
|
| ▲ | danso 4 days ago | parent | prev | next [-] |
| 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 4 days ago | parent [-] | | I had always wondered if that happened because of a proliferation in folks named EionMusk. |
|
|
| ▲ | dialogbox 4 days ago | parent | prev | next [-] |
| I also agree with you on the O0 I'll distinctions importance. So as google open-source it, someone can improved it freely. |
| |
| ▲ | lucb1e 4 days ago | parent [-] | | 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 4 days ago | parent | prev [-] |
| If the font doesn't support ligatures, it might as well be generated by AI. |