For anybody who has used a Vt52, H19, or similar terminal, there is no mystery. Before we had bitmap graphics, we had fill-in forms with ASCII graphics. A vertical line made with solid bars looked uneven, but the gap in the bar was the same height as the gap between a bar and the one above or below it, so it made a pleasing vertical dashed line to match the horizontal lines of actual hyphens and equal signs.
Nowadays, of course, if you want a line, you draw a line, so the gap no longer has a purpose.
It's interesting that codes for the Nintendo eShop have certain similar looking characters blocked off even in the keyboard you use to input. That way there's no question even if it's a zero or the letter O for example.
The Windows product keys are encoded in base24 using the alphabet BCDFGHJKMPQRTVWXY2346789, no doubt chosen to avoid ambiguities (e.g. 5 and S, 1 and I, O and 0), but unfortunately the B and 8 confusion remains.
Thanks for the neologism! Regardless of which font it is rendered in, it is clear from the context that the third character is the number 8 and not the letter B.
Gotta love how much this write-up refers to the serifs on the lowercase L, but is rendered in a font (on Windows at least) that entirely omits those serifs.
Most sans-serif fonts poorly distinguish between "I" and "l", I've found. (This led to my dad thinking that artificial intelligence was called "Al", as in "Albert".)
This is why I prefer a fixed width font when it can be ambiguous. They don't typically have the ambiguities between "l" (lower case "L") and "I" (upper case "i") or even the number "1", similarly between the letter "O" and number "0".
Personally, when handwriting, I got in the habit of striking a hyphen through the number "7" to disambuate against a possible number "1". Likewise, I'd strike through the letter "Z" to disambiguate from the number "2", and a diagonal strike through the number "0" to differentiate from the letter "O".
My handwriting is terrible, and it has saved me a lot of grief over the years, but especially in my engineering courses in college.
For 7, just make the top long and the slash slanty. Don't do that for 1.
For Z, give the top a very slight curve, and optionally do the same for the bottom. That is, bend the middle of the line in toward the center of the letter. It might be enough to just imagine doing this, so that you don't end up with a curve going the other way. Give the 2 a proper curve instead of a sharp corner, and it will look different.
That's fine but the reason I use the extra bits is to try and make a character unambiguous for a reader who does not know my handwriting habits. In the case of Z I do both - your suggestion and put a bar across it. 2 gets a small loop at the bottom left.
Same, I use crossed 7 and z, but I think of them as French (which was my first foreign language at school), and started using them in A-level maths (UK).
> Personally, when handwriting, I got in the habit of striking a hyphen through the number "7" to disambuate against a possible number "1". Likewise, I'd strike through the letter "Z" to disambiguate from the number "2", and a diagonal strike through the number "0" to differentiate from the letter "O".
My handwriting also makes it hard to distinguish q from 9 in a situation where the baseline isn't clear.
I like and use your solutions, but the problem is that, if the reader doesn't know about them and doesn't have the other candidates to compare, a '1', a '2', or an 'O' has no visible mark to indicate that it's not a '7', a 'Z', or an '0'—that is, they are identified by missing, not additional, information. (I don't know any good solution, though.)
Surprisingly, in my experience, most people pick up on it with no explanation. Ive only had to explain it to a handful of people and to each, once. My handwriting is awful and has only gotten worse due to nuerigical issues. I look at my writing from my college notebooks versus current, and comparatively, my college writing is legible and I'm now producing chicken scratch that only I can decipher.
Sure! I agree that, if I saw your O side-by-side-with your 0, or even your 0 by itself, I would instantly understand. My point is just that, if I saw your O by itself and hadn't seen any of your handwriting before, I wouldn't know "aha, this is an O because it doesn't have a distinguishing mark", since I wouldn't know that your 0 does have a distinguishing mark.
I don't know if that's actually traditionally true of fixed-width fonts. Courier, for example, is pretty bad, and widely used by people who aren't using a fixed-width font because they're programming.
Traditionally you'd use a lower-case ell for a numeral one, since there was no numeral one on your keyboard. Nor was there a separate zero. All of this "different characters for different uses" nonsense is for that newfangled electronic stuff.
I’ve adopted all of these as well. Doing statistics in my undergrad, not understanding what you or someone else wrote was just the worst. The change of style just became an obvious necessity.
I suddenly realized what made reading old Linux books feel so nostalgic - in at least one of the books I still have, the terminal commands were all printed using broken bars for pipe, etc. You really don’t see that nowadays, but I remember it from text-based browsing, horizontal nav bars often used bar/pipe characters to separate links, and still probably do in footers and dusty corners...
Unicode killed it. They introduced a non-ASCII broken bar, and they made the ASCII bar explicitly non-broken. Fonts created in the Unicode era follow Unicode.
I will never forgive Unicode for this abomination.
By defining Unicode mappings, they also replaced the β in MS-DOS fonts with a ß. Evidently they like Germans more than they like Greeks and mathematics.
This too is an abomination. Old documents are now screwed up.
> Unicode killed it. They introduced a non-ASCII broken bar, and they made the ASCII bar explicitly non-broken. ...
I will never forgive Unicode for this abomination.
I'm more upset that they allowed implementers to put lettuce on the bagel unicode emoji. Bagels are for carbs, fat, and salt, lettuce has no place. An abomination.
although i never used such a font, i thought the broken bar was appropriate for the shell pipe function because the gap is the space for the data to pass through.
that looks like an = sign which would be confusing but also, many uses for pipes are as filters. a filter is a flat surface where something passes from one side to another. the pipe symbolizes that filter (even though the actual filter is the program behind it, so yeah, both metaphors kid of work. either the pipe connects two programs, or it invokes a filter which is named after the pipe symbol)
In 2008-9 I had a Neo Freerunner, an early (Linux) smartphone. I also used | in my passwords. Some of the soft keyboards included only a ¦, in the | spot—indicating that the programmer/UI-designer believed them interchangeable. (That is, the character I got on a keyboard by pressing shift-backslash was | even though it was rendered as ¦ on the keyboard silkscreen, but on the smartphone it was ¦ on the key and in the typed text.) This made my log-ins fail in many contexts, and took some inspired thinking to figure out the problem. That was how I first learned the two are not just different glyphs for the same character.
Funny, I was building a system that needed a way to namespace CSS classes (so I could suck in HTML from different sources and assemble it into one document) and I found that class names can contain most of the ISO-LATIN-1 characters and I chose to use the broken vertical bar to separate namespaces from short names because hardly anyone uses it.
Nowadays, of course, if you want a line, you draw a line, so the gap no longer has a purpose.