Comment by rspeer

7 years ago

Anyone got any information on how the text rendering bug actually works (not just hand-waving it away as "oh it's UTF-8")?

I can see that the file alternates between segments of:

- Repetitions of the glyph "t̴́̍̒", which is a lowercase t with a combining tilde overlay, an acute accent, a vertical line above, and a turned comma above

- Random-looking ASCII characters with lots of apostrophes (spelled as ' in the HTML)

- Short sequences of spaces, non-breaking spaces, and zero-width joiners

- Occasional emoji

The "t̴́̍̒"s manage to slow down my terminal and glitch its rendering a bit. Is it that they're unexpectedly tall? But we've had zalgo-text for a while and it hasn't actually crashed devices.

I find it unexpectedly hilarious that we now have issues that cannot be fully described without running the risk of crashing our machines. Its as if there are certain unholy words that could cause us to faint if we were to utter them.

  • Sounds right out of Gödel, Escher, Bach :

    Achilles: I see the dilemma now. If any record player—say Record Player X—is sufficiently high-fidelity, then when it attempts to play the song "I Cannot Be Played on Record Player X", it will create just those vibrations which cause it to break...So it fails to be Perfect. And yet, the only way to get around that trickery, namely for Record Player X to be of lower fidelity, even more directly ensures that it is not Perfect. It seems that every record player is vulnerable to one or the other of those frailties, and hence all record players are defective. (p77)

    • Similarly (and also featured in a Hofstadter book), there's the short story "The Riddle of the Universe and Its Solution" by Christopher Cherniak. https://en.wikipedia.org/wiki/The_Riddle_of_the_Universe_and...

      I don't think anyone ever intended for text rendering to be a "sufficiently powerful formal system" like second-order logic, number theory, or like Hofstadter says the human brain is. I would hope that, in the absence of bugs, rendering text X on computer system Y would be a plain old computable function.

This reminds me of the AOL "punters" we used to make back in the day.

When I was 13 I built a program called "BorG" that did a lot of fun stuff and animations (but the effects didn't freeze people for very long) and chatbots - and I charged $3 as shareware. Or $5 if you really liked it. I got about 100 people mailing me envelopes! And I used to grab some of that money when I wanted to buy pizza or food to hang out. Those were the days.

I wonder if anyone here used it? :)

Okay, I have at least a guess about the type of thing that's going on, after seeing what it did to Firefox (which it at least didn't crash).

Various GUI elements such as title bars, tooltips, and thumbnails of links to Web pages, will try to fit the text they're given in a certain amount of space. If the text is too wide, it'll show some amount of text followed by "...". (I wonder if they're prepared for the text to be too tall.)

I saw Firefox rendering the long sequence of t̴́̍̒ characters in the mailto: link. It was being kerned in a way that made it nearly a solid black smear of pixels.

My guess is that apps are trying to determine how much of this text to show to fit within a certain width (and height?), and this text messes with a kerning algorithm in a way that makes it computationally very difficult to decide. I still don't know what's going on with the rest of the text, and why it can read 20 MB of text without making a final decision.

I believe it might have something to do with sizing down/padding of the parent elements that attempt to contain the out of spec characters.