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:
- Letter by letter, with technical names. πππ₯π₯π¨ is read out as βmathematical bold capital H, mathematical bold small e, β¦β. A single word becomes a long enumeration.
- Skipped entirely. Characters with no pronunciation on file are passed over silently. A bio written entirely in such a style sounds like an empty bio.
- As noise. Combining styles such as strikethrough or underline add a second character to every letter, and some screen readers announce each one.
It affects more than screen readers
- Search. Anyone searching for your name in plain letters will not find the Unicode version β inside the platform or on Google.
- Machine translation. Translation features do not recognise the characters as words and leave the text untouched.
- Pasting into forms. Many fields β usernames, billing and job application forms β reject the characters or store them incorrectly.
- Older devices. Where font coverage is missing, you get empty rectangles instead of letters.
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.