Q.: How to achieve Blackboard Bold?

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
A Wikipedia article suggests contemporary browsers might be offering
renderings of Blackboard Bold (BBB) if the characters intended are
specified by their Unicode code points: cf.

 http://en.wikipedia.org/wiki/Blackboard_bold .

That is, a browser might render each of the HTML entities below with a
graphic representation of the BBB version of the appropriate UC or LC
character A-Z (if I understand correctly), with perhaps a few exceptions
(detailed further on):

𝔺(C - may need 2102 in place of 1D53A)
𝔿(H - may need 210D ... )
𝕅(N - may ... 2115 ...)
𝕇(P - ... 2119 ...)
𝕈(Q - ... 211A ...)
𝕉(R - ... 211D ...)
𝕑(Z - ... 2124 ...)
LC a-z:

Alas, in my limited experimentation, I find that IE7 and Safari 5.1.1 don't
render *any* of these, beyond the seven UC &#x21nn; glyphs, with other than
a hollow portrait-oriented rectangle, while Firefox 3.6.24 comes closest to
'ideal' behavior, rendering *all* the lc glyphs, all the &#x21nn; glyphs,
and all the UC &#x1D5nn; glyphs for which there are *no* &#x21nn;
counterparts (yet *none* of those for which there *are*), but rendering
them in non-uniform sizes, with the seven UC 21nn glyphs drawn taller than
the other UC characters.

Worse yet, these seven 21nn glyphs, which both IE7 and Safari *do* deign
to render, give the impression of having been designed by three sets of
fontographers who took great pains utterly to ignore each other's work.

Is there any hope that HTML 5 -- and browsers meeting its requirements
-- will come to grips with the 'problematique' outlined above? Or are we
doomed to resorting to PDF or SVG or PS or inline GIFs, should we really
require our visitors' browsers to render BBB adequately?

Apologies for slaughtering so many innocent electrons in preparing and
transmitting this message; further apologies if this whole line of inquiry
is OT for c.i.w.a.html; but cheers, and TIA for any encouraging word,

-- tlvp
Avant de repondre, jeter la poubelle, SVP.

Re: Q.: How to achieve Blackboard Bold?

2011-11-13 9:42, tlvp wrote:

Quoted text here. Click to load it

That is correct, and even rather obvious, once we have established that
there are indeed Unicode code points for them. The non-obvious and
rather tricky issue is how often this happens and what one might do to
make it happen more often. If you intend to use _all_ of those letters,
the basic problem is the very limited support in fonts.

The characters are called "double-struck" in Unicode.

Quoted text here. Click to load it

The same might happen, under the same conditions, if the characters
themselves are entered (naturally with the character encoding properly
declared). Using a Unicode-enabled editor like BabelPad, this would even
be rather easy. In fact, you could even create a keyboard layout
(keyboard driver) that lets you type them so that the "A" key produces
the double-struck A etc. Takes 10 minutes, after an initial 10 minutes
of downloading, installing, and getting started with MSKLC. But if your
authoring environment is a wysiwyg editor or some PHP-based system or
something else that does not support UTF-8 fluently, you may need to
resort to HTML entities (or, using the technically correct term that few
people care to use, character references).

Quoted text here. Click to load it

Yes, definitely you would need to use 2102, since position 1D53A is
reserved (unassigned). Some of the double-struck letters (namely those
in common use in math and encoded in older character codes) were
assigned to positions in the Basic Multilingual Plane (BMP), which may
be characterized as "16-bit subspace of Unicode." They are not
duplicated in Plane 1, where the rest of the double-struck-letters are

Plane 1 (and anything beyond Plane 0, the BMP) is still a big problem to
most software in the world. But modern web browsers can deal with it -
they just cannot _display_ characters without a suitable font. (In
client-side scripting, Plane 1 is a problem, though a solvable problem.)

Quoted text here. Click to load it

You have apparently installed a font that contains these characters.
None of the commonly pre-installed fonts contains any Plane 1
characters. According to
the only fonts that contain U+1D53A are LastResort and Symbola. The
former is really a pseudo-font that contains dummy glyphs for all
characters - glyphs that only indicate the general nature of a
character, such as "Phoenician letter" (without showing the actual
letter) and Unicode number of the character. In this case, the dummy
glyph is really dummy, plain wrong: it classifies the character as

Symbola used to be distributed as part of "Unicode Fonts for Ancient
Scripts", a site that seems to have disappeared. The font is still
distributed e.g. via

In reality, there's also Code2001, with extensive support to Plane 1,
including the double-struck letters. I don't know what exactly has
happened to it, but since it was announced by its author as freeware, I
regarded it as appropriate to make the last version I know available via
my page

Quoted text here. Click to load it

This is somewhat surprising. I could understand, and would in fact
expect, _two_ font designs. Your browsers may use its default font, or
some font like Tahoma if you declare it in your stylesheet, and would
pick characters like U+2102 from it but would need to get U+1D53A and
other Plane 1 letters from a different font, like Symbola.

A way to avoid this is to use some suitable text-level markup, say <span
class=ds>...</span> for those characters and use a style sheet like

.ds { font-family: Symbola, Code2001; }

This would make them consistent with each other, though perhaps
stylistically different from the text font.

Of course, this would not work well on the WWW. Probably less than one
of a thousand visitors has either of those fonts in his system. You
might consider using downloadable fonts ("web fonts", @font face) in
CSS, though this would not work for all users and it would imply
inefficiency, as the fonts are large. A specially tailored font that
only contains the required characters would be an interesting solution,
though not easy unless you design fonts for breakfast.

Quoted text here. Click to load it

HTML5 has nothing to offer in this area. (Some people count CSS3 as part
of HTML5, though, but it's really pointless.) HTML5 has added "named
character references", like &Copf; for &#x2102;, but they are not useful
for anything - no browser support whatsoever so far, and they are
unnecessary and pseudomnemonic

Quoted text here. Click to load it

Well, you could write just <b>C</b> for example, as the symbol of the
set of complex numbers. It used to be an allowed alternative, and now
bold letters are even _preferred_ over double-struct letters, according
to the international standard on mathematical notations, ISO 80000-2.

ISO 80000-2 identifies symbols by their Unicode numbers, but there is no
such annotation for the boldface C (though there is for the alternative
symbol, double-struct C). I therefore conclude that the standard means
that normal letters like "C" be used in bold style, instead of using
Unicode codepoints like U+1D400 (MATHEMATICAL BOLD CAPITAL C)

Using <b> markup is the way that works most often. According to HTML5,
<b> has mysterious semantics, but it's just their way of allowing the
presentational markup and pretending it's not presentational and doesn't
mean what it has always meant - bolding. But an HTML5 believer might
want you to use <span> with class and font-weight: bold instead.

Of course, some publishers and mathematicians may still favor the
double-struck symbols. But on web pages, their use is both more
complicated and way more unreliable than the use of normal letters in bold.

Yucca, http://www.cs.tut.fi/~jkorpela /

Site Timeline