You build a name in fancy script, it looks perfect in the generator, and on somebody else’s phone one letter is an empty rectangle. Always the same letter. Change the name and the box moves to a different spot — or disappears entirely.
It is not the font on their phone. Four of the thirteen styled alphabets in Unicode are missing letters — the slots where those letters should sit were left empty on purpose, and a generator that fills them by counting hands you a code point that does not exist. Here is the full list of 24, and the character that belongs in each one.
Thirteen styled alphabets, four with holes
Every styled alphabet lives in a block of consecutive code points, so a generator can produce one by simple arithmetic: take the letter, add an offset. That works for nine of them.
| Alphabet | Looks like | Status | Letters with no code point |
|---|---|---|---|
| bold | 𝐀𝐚 | complete | — |
| italic | 𝐴𝑎 | 1 missing | h |
| bold italic | 𝑨𝒂 | complete | — |
| script | 𝒜𝒶 | 11 missing | B E e F g H I L M o R |
| bold script | 𝓐𝓪 | complete | — |
| fraktur | 𝔄𝔞 | 5 missing | C H I R Z |
| bold fraktur | 𝕬𝖆 | complete | — |
| double-struck | 𝔸𝕒 | 7 missing | C H N P Q R Z |
| sans | 𝖠𝖺 | complete | — |
| sans bold | 𝗔𝗮 | complete | — |
| sans italic | 𝘈𝘢 | complete | — |
| sans bold italic | 𝘼𝙖 | complete | — |
| monospace | 𝙰𝚊 | complete | — |
Nine are complete. Script is missing eleven of its fifty-two letters — including E, e, o and g, which almost no name avoids. Double-struck is missing seven, fraktur five, italic one.

The 24 empty slots, and what belongs there
Unicode did not forget these letters. It had already encoded them years earlier, in a block called Letterlike Symbols, and rather than duplicate them it left the slots empty and pointed at the older characters. A generator that does not carry this table produces the empty slot instead.
| Alphabet | Letter | Empty slot | Correct character | Its code point |
|---|---|---|---|---|
| script | B | U+1D49D | ℬ | U+212C |
| script | E | U+1D4A0 | ℰ | U+2130 |
| script | e | U+1D4BA | ℯ | U+212F |
| script | F | U+1D4A1 | ℱ | U+2131 |
| script | g | U+1D4BC | ℊ | U+210A |
| script | H | U+1D4A3 | ℋ | U+210B |
| script | I | U+1D4A4 | ℐ | U+2110 |
| script | L | U+1D4A7 | ℒ | U+2112 |
| script | M | U+1D4A8 | ℳ | U+2133 |
| script | o | U+1D4C4 | ℴ | U+2134 |
| script | R | U+1D4AD | ℛ | U+211B |
| double-struck | C | U+1D53A | ℂ | U+2102 |
| double-struck | H | U+1D53F | ℍ | U+210D |
| double-struck | N | U+1D545 | ℕ | U+2115 |
| double-struck | P | U+1D547 | ℙ | U+2119 |
| double-struck | Q | U+1D548 | ℚ | U+211A |
| double-struck | R | U+1D549 | ℝ | U+211D |
| double-struck | Z | U+1D551 | ℤ | U+2124 |
| fraktur | C | U+1D506 | ℭ | U+212D |
| fraktur | H | U+1D50B | ℌ | U+210C |
| fraktur | I | U+1D50C | ℑ | U+2111 |
| fraktur | R | U+1D515 | ℜ | U+211C |
| fraktur | Z | U+1D51D | ℨ | U+2128 |
| italic | h | U+1D455 | ℎ | U+210E |
Zero fonts against ninety-nine
This is the part you can see. We asked a machine with 2,211 font files how many of them draw each character.
- The 24 empty slots: 0 fonts. Not one. They are unassigned code points, so there is nothing to draw — every device on earth shows the placeholder rectangle.
- The correct replacements: 99 to 109 fonts each. That puts them among the best-supported characters in the whole styled-name world — better supported than the styled letters around them.
So the fix does not cost you anything. Swapping an empty slot for the right character takes a name that is guaranteed to break and makes it one of the safest things you can paste.

The second symptom: half your name gets selected
The box is the obvious symptom. The quiet one shows up when somebody tries to copy your name. Text is split into words before anything is selected, and an unassigned code point does not belong to a word — so it acts as a boundary and cuts the name in two.
| Name | Pieces it splits into | Selected by a double-tap |
|---|---|---|
| italic — with the hole | 3 | 10% |
| italic — filled in | 1 | 100% |
| script — with the hole | 4 | 40% |
| script — filled in | 1 | 100% |
| fraktur — with the hole | 4 | 36% |
| fraktur — filled in | 1 | 100% |
| double-struck — with the hole | 2 | 88% |
| double-struck — filled in | 1 | 100% |
Filled in, every one of them is a single word and a double-tap takes the whole name. With the hole left in, a double-tap grabs anywhere from a tenth to seven eighths of it — and whoever was copying your name gets a fragment.

20 of 32 test names hit a hole
We took eight ordinary Free Fire names and put each through the four incomplete alphabets. Twenty of the thirty-two came out carrying at least one empty slot. Not because the names are unusual — because the missing letters are common ones.
Names in all thirteen styles, holes already filled
Every name below was generated with the replacement table applied. None of them contains an unassigned code point, so none of them can show a box for that reason. Tap to copy.
The eleven script letters on their own
If you build names by hand, these are the ones to keep nearby. Each is the correct script letter for a slot the math block leaves empty.
The other thirteen replacements
What to do
- Seeing one box in a script or fraktur name? It is almost certainly one of the 24. Check which letter it is against the table and paste the replacement in its place.
- Prefer the nine complete alphabets if you want to stop thinking about it: bold, bold italic, bold script, bold fraktur, sans, sans bold, sans italic, sans bold italic and monospace have no holes at all.
- Test with the letter, not the name. Type a name containing E, e, o, g, C, H, I, R or Z in script or double-struck — those are where the holes are.
- The fix costs nothing. Same shape, same one character, and around a hundred fonts draw it instead of none.
Community kaomoji bank
120 faces from the shared library across the network. None of them uses the math alphabet blocks, so none can hit a hole — items built from rare scripts have been filtered out for the same reason.
Community nickname bank
158 nicknames submitted and copied most often by readers. Run any of them through a style above and you get a version with the holes already filled.
Frequently asked questions
Why is one letter of my name a box?
Because the generator gave you a code point that Unicode never assigned. Four styled alphabets have empty slots — 24 in total — and a generator that produces styled letters by arithmetic walks straight into them. No font anywhere draws an unassigned code point, so every device shows the placeholder.
Which letters are affected?
Script is missing B, E, F, H, I, L, M, R, e, g and o. Double-struck is missing C, H, N, P, Q, R and Z. Fraktur is missing C, H, I, R and Z. Italic is missing only the lowercase h.
Is the replacement a different-looking letter?
No — it is the same design. Unicode encoded these letters in the Letterlike Symbols block before the maths block existed, and chose not to duplicate them. The shape is what you expect; only the code point is different.
Which styles are safe to use without thinking?
Nine of the thirteen have no holes: bold, bold italic, bold script, bold fraktur, sans, sans bold, sans italic, sans bold italic and monospace. Any name in those alphabets is complete.
Does this affect the character count of my name?
No. The replacement is one character, exactly like the empty slot it replaces. Your name is the same length before and after.
Why does double-tapping only select part of my name?
An unassigned code point is not part of a word, so it acts as a word boundary and splits the name. In our measurements a double-tap picked up between 10% and 88% of a name with a hole in it, and 100% once the hole was filled.