I just ran into the stranges code:
Lan1 : SomeType;
The compiler nagged it couldn't find the variable.
So I copied the code into textpad which uses slightly bigger font.
Thanks to the bigger font I noticed the difference between 1 and l.
Otherwise it was hard to catch and I might have believed it may have been some strange unicode symbol.
Turns out the courier new font at size 9 is simply flawed for programming, the 1 and l is exactly the same. Even at higher sizes the difference is minor, 1 pixel or so. Perhaps not use this font anymore for programming or make a slight change to it so the 1 and l remains different at hopefully all font sizes !
(My current Delphi 10.2 development environment uses it ! Not sure if this is the default or if I set it like that ! ;))
Euhm my recommendation is to write all C/C++ code for confuscating contests with 1 and l symbols only for futher complexifieing analysis of code ! LOL.
I also took the courtesy of adding this warning to the wikipedia about courier new, feel free to start a wiki war with me and others ! LOL =D
My soon to be famous text added is:
This font is not suited for programming or any other serious documentation. The numeric one and small letter L look to similiar example: 1 vs l
On some development environments it's exactly the same depending on font size, for example at size 9 the one pixel difference is gone.
P.S.: When I discovered this bug I went like: "HOOOOLLYYYSHIIIT"
Then later: "PPPPPPFFFFFFffffff"
Also I am not the first to have found this, there are a few other mentions found by google !
P.S.2: For fun let me know if your current newsgroup/mail reader has this problem too, or your development environment, or document editor would be funny to know ! =D
P.S.3: I wonder if a NASA or ESA space lander will someday crash because of a wrong l vs 1 ! LOL. Perhaps by uploading a wrong script or wrong math formulas ;) :)
P.S.4: I recommend writing a computer program that does a visual inspection of all symbols vs all symbols (for all font sizes) (and even all fonts !) and do a pixel by pixel comparision to detect any other similiar problems or perhaps too few pixel differences !