Every character on your screen has a number, its code point. The capital A is U+0041 (65 in decimal). Unicode 3.1, published in 2001, added a block called Mathematical Alphanumeric Symbols with complete alphabets in bold, italic, script, fraktur, double-struck and more, because mathematicians need them to mean different things. Each alphabet is laid out in order, A to Z then a to z.
So converting a letter is arithmetic: find where the styled alphabet starts, add the letter’s position, and output that character. Pick a style and a letter below.
Why some letters don’t match
Before 2001, a handful of styled letters were already in Unicode’s Letterlike Symbols block: ℝ for the real numbers, ℋ for the Hamiltonian, ℎ for Planck’s constant. To avoid encoding the same letter twice, the new alphabets left those slots empty. Try Script B, E, F, H, I, L, M, R, e, g or o above to see a hole in action. It also explains why these letters sometimes look like they came from a different typeface: on many phones, they did.
The other tricks
- Bubble letters are “enclosed alphanumerics”, originally for numbered lists in Japanese and Chinese typesetting. Try bubble text.
- Glitch and strikethrough use combining marks that attach to the previous letter. Stack them in the glitch lab.
- Upside-down text borrows lookalike letters from the phonetic alphabet, then reverses the order. Flip some text.
- Small caps also come from phonetics, where they represent particular sounds. Make small caps.
If you enjoy learning by poking at things like this, ahaboo has narrated, interactive explainers on how everyday things work, from why the seasons happen to how compound interest grows.
When not to use fancy text
Screen readers such as VoiceOver and NVDA handle these characters inconsistently: some read each letter’s full maths name, others skip them. Search engines and in-app search treat them as different characters from the plain letters. So use styled text for flourish, and keep your name, links, prices and anything important in plain letters.