pastefont

Unicode fonts and screen readers

These styles look like formatted text but are something else, and that has consequences for anyone who has the screen read aloud.

The problem in one sentence

A screen reader reads characters, not shapes. Where you see π‡πžπ₯π₯𝐨, the software does not find the word Hello β€” it finds a sequence of mathematical symbols.

How it is actually announced

Depending on the software and its settings, one of three things happens:

It affects more than screen readers

Four ways these characters break

Beyond screen readers, there are four distinct failure modes. Knowing which one you are looking at explains most of the odd behaviour people run into.

1. Normalisation turns the text back into plain letters

This is the one that confuses people most, because it happens silently and often later. Many systems apply Unicode NFKC normalisation, a standard cleanup step that maps these characters straight back to their ordinary equivalents. Search indexes do it so that a search for β€œhello” also finds a styled β€œhello”. Username checks do it to stop two accounts looking identical. Some database fields do it on save. If a platform accepted your styled text and then showed it plain, this is why β€” and nothing you do on the text side can prevent it, because the mapping is part of the standard.

2. The font has no coverage, so you get rectangles

These characters live in corners of Unicode that many fonts skip. Where a reader's font lacks them, their device draws an empty rectangle β€” the so-called tofu. This is most common on older Android builds, on minimal Linux desktops, and in desktop applications that ship a restricted font. There is no fallback: for that reader the text is simply gone.

3. Combining marks get stripped or render badly

Strikethrough, underline, overline and the slashed style work by attaching a second, width-less character to every letter. Some apps remove those on paste. Some fonts join them cleanly and some leave visible gaps between letters. A few mail clients treat heavy use of combining characters as a spam signal, because the technique has been used to evade filters.

4. Mixed-script detection rejects the text

The flipped and mirrored styles are assembled from Greek, Cyrillic and phonetic characters, because no rotated Latin alphabet exists. Platforms that check for lookalike usernames flag text mixing several scripts β€” a protection against impersonation. The practical effect is that some name fields reject the text outright instead of displaying it.

When it is reasonable to use

These styles are decoration. As decoration they are harmless; as a carrier of information they are not. A workable rule:

Fine: a single highlighted word, a divider, a stylised nickname next to your name written normally.

Better not: your entire bio, your name as its only spelling, contact details, prices, dates, calls to action β€” anything that has to be understood.

Wherever a platform offers real formatting, that is always the better choice. Discord, WhatsApp and Telegram can do bold, italic and strikethrough themselves, and that formatting is announced correctly. Unicode styles earn their place where no formatting exists at all β€” typically in name fields.