fontgenerator.tech
Menu

Legacy script exception · U+212C

B

Script capital B comes from the older Letterlike Symbols block, not the newer Mathematical Script block — on purpose.

The Cursive Unicode Letters That Don’t Exist (and Why)

By fontgenerator.tech team · Published 2026-09-06 · Reviewed 2026-09-06

Sixteen letters across our two cursive-family styles (regular script and Fraktur/Gothic) look slightly different from the rest, on purpose — not a bug. Unicode's Mathematical Script and Mathematical Fraktur blocks were added in 2001, but for 16 specific letters, an older character already existed with the same intended look, so Unicode left that exact slot in the new block unassigned rather than duplicating it. This tool substitutes the correct older character for those specific letters, per the Unicode charts cited below — the alternative (leaving them blank or guessing) would be worse.

Regular script: 11 exceptions

LetterUsed characterCode point
Bℬ SCRIPT CAPITAL BU+212C
Eℰ SCRIPT CAPITAL EU+2130
Fℱ SCRIPT CAPITAL FU+2131
Hℋ SCRIPT CAPITAL HU+210B
Iℐ SCRIPT CAPITAL IU+2110
Lℒ SCRIPT CAPITAL LU+2112
Mℳ SCRIPT CAPITAL MU+2133
Rℛ SCRIPT CAPITAL RU+211B
eℯ SCRIPT SMALL EU+212F
gℊ SCRIPT SMALL GU+210A
oℴ SCRIPT SMALL OU+2134

All other script letters (15 uppercase, 23 lowercase) use the main Mathematical Script block directly.

Script capital B (legacy)U+212C
Script capital H (legacy)U+210B
Fraktur capital C (legacy)U+212D
Double-struck R (legacy) — familiar from "real numbers"U+211D
16
Total legacy-character exceptions across script + Fraktur
11
Regular script exceptions
5
Fraktur / Gothic exceptions

Fraktur / Gothic: 5 exceptions

LetterUsed characterCode point
Cℭ BLACK-LETTER CAPITAL CU+212D
Hℌ BLACK-LETTER CAPITAL HU+210C
Iℑ BLACK-LETTER CAPITAL IU+2111
Rℜ BLACK-LETTER CAPITAL RU+211C
Zℨ BLACK-LETTER CAPITAL ZU+2128

Bold script and bold Fraktur have no such exceptions — Unicode assigned all 52 letters directly in those two blocks, which is why they're the more visually consistent choice if that matters for your use.

Why this matters in practice

Some fonts render these legacy Letterlike Symbols characters with a subtly different weight or style than the newer Mathematical block, because they were designed decades apart for different purposes (many were originally mathematical notation symbols, like ℒ for a Lagrangian). If you notice one letter looking slightly "off" in an otherwise-consistent script phrase, this table is almost certainly why — not a rendering bug in your device.

Double-struck has a similar pattern

The double-struck style (used for a "chalkboard" look) has the same kind of gap: C, H, N, P, Q, R and Z use older double-struck symbols (ℂ, ℍ, ℕ, ℙ, ℚ, ℝ, ℤ — familiar from number-set notation like ℝ for real numbers) instead of the main double-struck block, for the same historical reason.

Why Unicode did it this way instead of just adding new characters

It would have been simpler for Unicode to assign a brand-new script-B, for instance, at its "proper" position in the Mathematical Script block and leave the old ℬ alone as a separate, redundant character. Unicode's design principle works the other way: avoid encoding the same abstract character twice. ℬ already existed (it was in wide use for mathematical and physical notation, like magnetic flux density) before the Mathematical Alphanumeric Symbols block was proposed, so the newer block's creators deliberately left that slot empty and pointed usage back at the existing character instead of minting a duplicate. The result is fewer total characters overall, at the cost of these 16 letters coming from a different historical block than their neighbors.

A full worked example

Style the word "BEFORE" in regular script and every letter except O uses a legacy Letterlike Symbols character (B, E, F all have exceptions; R does too). Style "LOOK" and only L is an exception — O and K use the main Mathematical Script block. There's no visual cue in advance that tells you which letters will be exceptions; the table above is the actual, complete list, drawn directly from the Unicode charts rather than guessed from testing individual fonts.

How to check this yourself

Open this site's Cursive Text Generator, type any word containing one of the 16 exception letters, and expand the "Details" panel under the script result — it states the exact support and limitation for that style. You can also copy a single exception letter and look up its code point in any Unicode inspector; it will report a Letterlike Symbols code point (in the U+2100 range) rather than a Mathematical Alphanumeric Symbols one (U+1D400 range), confirming exactly which block it actually came from.

Recognizing the exception letters at a glance

If you're trying to predict, without checking the table, whether a given letter will come from the main block or a legacy symbol: in regular script, watch for B, E, F, H, I, L, M, R, e, g and o specifically — every other letter is a direct assignment. In Fraktur, the shorter exception list (C, H, I, R, Z) is easier to remember by the mnemonic that all five happen to be letters commonly seen in older mathematical or physics notation (Fraktur letters were historically used for vector fields and similar notation, which is part of why some of them already had established symbols before the newer block existed).

A quick way to check your own text

Type your word or name into the Cursive Text Generator and expand the "Details" panel under the script result — it lists exactly which letters in your specific text came from the legacy Letterlike Symbols block versus the main Mathematical Script block, computed fresh from what you typed rather than requiring you to cross-reference the tables above by hand.

Questions people actually ask

Will this ever get "fixed" to use consistent characters? No — Unicode code point assignments are permanent once published, specifically so that text encoded today remains valid forever. The current mixed-block behavior for these 16 letters is the permanent, correct behavior per the Unicode Standard, not a temporary gap.

Does this affect the plain-text converter? No — our Plain Text Converter includes both the main Mathematical Script/Fraktur ranges and these 16 legacy Letterlike Symbols characters in its reverse map, so converting script or Fraktur text back to plain letters works the same regardless of which block a given letter came from.

Do any other styles on this site have similar legacy-character exceptions? Yes — see our bubble text guide for how circled and negative-circled letters have their own, different kind of Unicode-assignment gap.

Sources