I rendered 1,418 confusables over 230 fonts. Most aren't confusable to the eye
48 points
1 day ago
| 10 comments
| paultendo.github.io
| HN
recursivecaveat
55 minutes ago
[-]
This seems misguided. The fact that 'ρ' isn't a pixel for pixel match for 'p' doesn't mean they're not confusable. The threat model is not being unable to solve a spot-the-difference puzzle. Unless you are familiar with every pixel of your system fonts, and carefully scrutinize every character on your screen, the lack of an exact match in jρmorgan[.]com in a URL is going to do very little for you. There are many english characters that have multiple totally distinct ways to write them, so you can have two 'a' variants that are distinct but equally 'normal' looking. I guess if you get an LLM to write your blog posts they don't have to make much sense to begin with.
reply
vivid242
15 minutes ago
[-]
Thanks for the effort!

I'm always intrigued by the German FE-Schrift ("fälschungserschwerende Schrift", "more-difficult-to-forge font") chooses shapes for characters that makes it hard for them to be turned into one another (like a 3 into an 8 or so):

https://en.wikipedia.org/wiki/FE-Schrift

reply
Grom_PE
32 minutes ago
[-]
0 and O, and l and I that look the same in a single font is a crime of modern typography.

Also, I remember 8x16 VGA font that came with KeyRus had some slight differences between Cyrillic and Latin lookalikes, that brought some strange sense of comfort when reading, and especially typing the letter c, because its Cyrillic lookalike is located on the same key.

reply
apothegm
1 day ago
[-]
Maybe not at super large font sizes. But even lowercase i and l are easy enough to confuse at a glance mid-word in most sans-serif fonts, not to mention uppercase I and lowercase l. You don’t even need “confusable” glyphs to create a domain name that will stand up to a casual visual confirmation from a busy user in a phishing context.
reply
hinkley
1 day ago
[-]
Every Albert, Alfred, or Alphonso who goes by “Al” getting confused with bots right now…
reply
thih9
1 hour ago
[-]
Perhaps there are people named “Alexa” who started using “Al” after Amazon’s launch. Talk about bad luck.
reply
tliltocatl
1 day ago
[-]
I used to read"Weird Al" as "AI" even before the LLM craze.
reply
ordu
51 minutes ago
[-]
But what about 'Ы'? It looks like 'bl', doen't it? 'Ы' is one codepoint and one glyph, though 'bl' is a sequence of two letters. I believe that the method described will miss such things. Cyrillic also has 'Ю', I suppose it is possible to design a font that make it look like 'lO'? Are there any fonts like this in a wild?
reply
chii
1 hour ago
[-]
> A domain using only Cyrillic characters that happen to spell a Latin word (like “аpple” in all-Cyrillic) may still render in the address bar’s font and look identical.

that is very interesting.

I imagine the browser could take some context clues and switch rendering to puny code if the locale of the user is nowhere near a cyrillic region. But that is only going to patch some edge cases and miss others.

Ideally, the solution is password managers everywhere, which don't have this vulnerability, instead of using human eyes to visually recognize web urls and thus is vulnerable.

reply
alterom
11 minutes ago
[-]
>> A domain using only Cyrillic characters that happen to spell a Latin word (like “аpple” in all-Cyrillic) may still render in the address bar’s font and look identical

Here you go:

https:// аррlе.соm

(using English "l" and "m" here, Russian м looks differently)

reply
Oarch
1 day ago
[-]
This is really cool. I loved the technical breakdown and side by side comparisons. Surprised to hear that Microsoft and MacOS default fonts didn't score so well!
reply
Cool_Caribou
1 hour ago
[-]
Why are all the descending letters truncated in the titles? Not sure if it's a css glitch or terrible font choice. A bit ironic on an article about fonts.
reply
sheept
51 minutes ago
[-]
It appears to be part of the font[0]. It looks a bit weird, but display fonts usually can get away with being more eccentric.

[0]: https://fonts.google.com/specimen/Syne

reply
arlattimore
1 hour ago
[-]
This is very cool, impressive piece of work Paul.
reply
doctorpangloss
2 hours ago
[-]
well, you didn't really do anything, did you? Claude Code rendered these things and wrote the blog post haha

> "This is not theoretical. It is a measured property of the font files shipping on every Mac."

some patterns of speech are so recognizably LLM, i am convinced that the AI detection startups have a very strong chance to succeed on text.

reply
jcynix
34 minutes ago
[-]
Yes, some patterns of speech are recognizable … The "That's LLM generated" pattern is one of those. And while I can understand the motivation behind this, I find it more irritating now than LLM texts, if these contain useful information, which make me curious.

This text made me curious, I liked the approach the author has taken. And it made me think how I would do it. My first idea would be to use ImageMagick to render text and then use ImageMagick's https://imagemagick.org/script/compare.php to somehow calculate the risk of confounding glyphs.

So: Don't be snarky? Maybe we need another rule here, to limit comments on "LLM style" https://news.ycombinator.com/newsguidelines.html

reply
deaux
2 hours ago
[-]
Going off on a bit of a tangent here..

> some patterns of speech are so recognizably LLM, i am convinced that the AI detection startups have a very strong chance to succeed on text.

The problem for them is the market. Those who actually want to buy AI detection tools usually want the impossible - detecting any kind of AI-written text, or even AI-written-human-edited text.

You're right in that many HN articles (not going to comment on this one specifically) are very easy to detect. But that's just because these article writers are too lazy to even use any of the plethora of tools that remove the smells automatically, or tools that write without them in the first place (I've made such a tool myself), or even just adjusting the prompt to write in a different style that avoids them.

Most people who would be interested in paying for AI detection tools want them to detect all of the above cases too, which is of course impossible.

reply
aronhegedus
2 hours ago
[-]
However it was written, it’s a useful and well structured article. I thought it was a good read
reply
alterom
4 minutes ago
[-]
I mean, no shit Sherlock, Cyrillic letters being indistinguishable from English ones is what Russian speakers have been using to get around braindead keyword сеnsоrshір¹ forever, same way kids type "de@th" on TikTok to avoid automoderation.

Most of the added value in this article can be summed up by saying that the Cyrillic glyphs are identical to the similar English ones in the fonts that author looked at (which isn't true for all fonts), and author didn't find many other such examples.

_______

¹ Try matching that word with "censorship" for fun

reply