Braille Patterns


In Unicode, braille is represented in a block called Braille Patterns. The block contains all 256 possible patterns of an 8-dot braille cell, thereby including the complete 6-dot cell range.

Symbols, not letters

In Unicode braille characters are not defined as belonging to any other script, but are defined as the Braille script. That is, the patterns are available as symbols, without connection to an alphabetic letter or a number. This is because the same symbol can be used in multiple scripts, e.g. as a Latin character, a Vietnamese character, a Chinese character and a digit. For example: although represents the letter "H" in basic braille, its Unicode definition makes no reference to "H", and it is just as valid representing Korean ᄐ t-, or Japanese り ri.
For this reason – a dot-pattern is not a letter – Unicode declares that, strictly speaking, braille patterns are 'symbols', not 'letters'. The General Property is "So", not "Lo". Beyond that declaration, however, braille is treated as a script in multiple places. E.g., the character property "Script" for the 256 braille code points is ISO 15924 "Brai", for braille. This way, searching users and programs are led to the right place.

Identifying, naming and ordering

The coding is in accordance with ISO/TR 11548-1 Communication aids for blind persons. Unicode uses the standard dot-numbering 1 to 8. Historically only the 6-dot cell was used in braille. The lower two dots were added later, which explains the irregular numbering 1-2-3-7 in the left column and 4-5-6-8 in the right column. Where dots 7 and 8 are not raised, there is no distinction between 6-dot and 8-dot definitions.
The Unicode name of a specific pattern mentions the raised dots: has dots 1, 2 and 5 raised. By exception, the zero dot raised pattern is named.
In the 8-dot cell each dot individually can be raised or not. That creates 28=256 different patterns. By mapping each of the eight dots to a bit in a byte, and by defining "0"/"1" for not raised/raised per bit, every specific pattern generates an identifying binary number. So the pattern with dots 1-2-5 raised would yield 2, equivalent to 16 or 10.
The mapping can also be computed by adding together the hexadecimal values, seen at right, of the dots raised. So the pattern with dots 1-2-5 raised would yield 116+216+1016 = 1316. Whether computed directly in hexadecimal, or indirectly via binary, the result is added to 280016, the offset for the Braille Patterns Unicode block.
Braille symbolCharis SIL, Doulos SIL, DejaVu Sans;">⠓
Unicode characterU+2813U+28C7U+28FF
NameBRAILLE PATTERN DOTS-125BRAILLE PATTERN DOTS-12378BRAILLE PATTERN DOTS-12345678
---
Dot numbers available1 2 3 4 5 6 7 81 2 3 4 5 6 7 81 2 3 4 5 6 7 8
Dot raised=11 1 0 0 1 0 0 01 1 1 0 0 0 1 11 1 1 1 1 1 1 1
Binary value
0 0 0 1 0 0 1 121 1 0 0 0 1 1 121 1 1 1 1 1 1 12
Hex value of dots10+2+11680+40+4+2+11680+40+20+10+8+4+2+116
Total hexadecimal value1316C716FF16
Into block,
offset U+280016
280016+1316=U+2813280016+C716=U+28C7280016+FF16=U+28FF

There is no regular mapping to the braille ASCII numbering.

Colloquial names

The Unicode names of braille dot patterns are not the same as what many English speakers would use colloquially. In particular, Unicode names use the word in the plural even when only one dot is listed: thus Unicode says when most English users of braille would simply say "braille dot 5" or just "dot 5".
Some English users of braille additionally use the word "and" when listing only two dots. Thus would be spoken as "braille dots 4 and 5". The word "and" is not always used when listing many dots however.

Block

Braille was added to the Unicode Standard in September, 1999 with the release of version 3.0.
When using punching, the filled dots are to be punched.
The Unicode block for braille is U+2800... U+28FF:

Font differences

When showing braille graphically in printed instruction manuals, it can be useful to indicate the dots that are not punched, especially if a single braille cell of only one or two punched dots is shown out of context: in this case it might otherwise be difficult to judge the vertical alignment of the dots and tell the difference between, say, dots 2 and 4 versus dots 3 and 5.
The current Unicode charts, and some fonts, use empty circles to indicate dots that are not punched. This does not always render very clearly: if the circle outlines are printed heavily then it can be difficult to tell at a glance whether the dot is filled in or not. The braille package for LaTeX show unpunched dots as very small dots rather than circles, and this tends to print better.
Some braille fonts do not indicate unpunched dots at all. Additionally, some Linux braille fonts use small squares instead of small circles to indicate dots.

History

The following Unicode-related documents record the purpose and process of defining specific characters in the Braille Patterns block: