Double-struck text — also called blackboard bold, used in mathematics to denote sets like the integers (ℤ), real numbers (ℝ), and complex numbers (ℂ) — produces output like 𝔸𝔹 𝔻𝔼𝔽𝔾 𝕀𝕁𝕂. It is one of the more distinctive Unicode styles: the double-struck strokes on the vertical stems give it an immediately recognizable appearance. It is also one of the more frequently broken styles in font generators.
Two things make correct implementation harder than it looks: seven letters have BMP code points rather than SMP ones, and there is no bold variant of double-struck in Unicode, despite bold variants existing for most other Mathematical Alphanumeric styles.
The Seven BMP Exceptions
The Mathematical Double-Struck uppercase block begins at U+1D538 (capital A). Going sequentially from there to Z would give a complete alphabet if no positions were unassigned — but seven are. Those seven letters are encoded instead in the Letterlike Symbols block (U+2100–U+214F):
- C: U+2102 (DOUBLE-STRUCK CAPITAL C: ℂ). Used in mathematics for the complex numbers.
- H: U+210D (DOUBLE-STRUCK CAPITAL H: ℍ). Used for quaternions.
- N: U+2115 (DOUBLE-STRUCK CAPITAL N: ℕ). Used for natural numbers.
- P: U+2119 (DOUBLE-STRUCK CAPITAL P: ℙ). Used in logic and number theory.
- Q: U+211A (DOUBLE-STRUCK CAPITAL Q: ℚ). Used for rational numbers.
- R: U+211D (DOUBLE-STRUCK CAPITAL R: ℝ). Used for real numbers.
- Z: U+2124 (DOUBLE-STRUCK CAPITAL Z: ℤ). Used for the integers.
These seven letters were in established use in mathematical notation and textbooks for decades before the Mathematical Alphanumeric Symbols block was encoded in Unicode 3.1. Rather than duplicate them, Unicode references the Letterlike Symbols block positions. A generator that uses only sequential offset arithmetic from U+1D538 produces wrong or missing output for these seven letters.
Double-struck has more exceptions than any other Mathematical Alphanumeric style. Script has 9 (8 uppercase + 1 lowercase), Fraktur has 5. Double-struck's 7 exceptions — all uppercase — cover more than a quarter of the 26 uppercase letters.
Why There Is No Double-Struck Bold
The Mathematical Alphanumeric Symbols block includes bold variants for several styles: Mathematical Bold (serif bold), Mathematical Sans-Serif Bold, Mathematical Script Bold, Mathematical Fraktur Bold. There is no Mathematical Double-Struck Bold.
The reason is semantic: double-struck letters in mathematics are already defined by their double-stroke structure, not by weight. Making a "bold double-struck" letter would be doubling a stroke-count signal that is not a weight signal. The Unicode Technical Committee declined to add bold double-struck because it had no established use in mathematical literature and because the concept does not have clear visual meaning.
In practice: if you see a generator that claims to produce "Bold Double-Struck" or "Double-Struck Bold" text, it is either synthesizing the appearance through other means (a different Unicode style that looks superficially similar) or it is mislabeling another Mathematical block style. There is no such block in Unicode.
Lowercase and Digits
Mathematical Double-Struck lowercase starts at U+1D552 (small a). The lowercase run is complete — no exceptions. All 26 lowercase letters are sequential SMP code points.
Double-struck digits (0–9) start at U+1D7D8. These are sometimes called "outlined digits" or "circled digits" colloquially, though that is a different Unicode category. The double-struck digits have the same doubled-stroke appearance as the letters.
Platform Support
- Instagram: Double-struck passes through in bios and captions. The BMP exception letters (ℂℍℕℙℚℝℤ) are widely supported in system fonts and may render with slightly different metrics than the SMP letters on some devices.
- Twitter/X: SMP double-struck letters count as 2 per character. The seven BMP exception letters count as 1 each. A name CANOPY in double-struck: C is BMP (1), A is SMP (2), N is BMP (1), O is SMP (2), P is BMP (1), Y is SMP (2) — total 9 code units for 6 visible letters.
- Discord: Both BMP and SMP double-struck characters display in messages and usernames.
- LinkedIn: Accepted in posts and headlines. Double-struck text is a distinctive look for LinkedIn content where no other way to produce this style is available.
How to Test a Double-Struck Generator for Correctness
Enter the text NZRCHPQ into the generator. These seven letters cover all the exception characters — N, Z, R, C, H, P, Q. A correct implementation produces: ℕℤℝℂℍℙℚ. An incorrect implementation that uses only SMP arithmetic will produce boxes, unrelated characters, or missing glyphs for some or all of these letters.
The test string NZRCHPQ is a useful quality check for any double-struck generator. All seven exceptions in a single word. If the output looks right, the generator is handling the BMP exception table correctly.
The Outline Font Generator applies this exact mapping automatically, including the fallback behavior in place of a bold variant.