Chapter Three

Braille and Binary Codes

Samuel Morse wasn’t the first person to successfully translate the letters of written language into an interpretable code. Nor was he the first person to be remembered more for the name of his code than for himself. That honor must go to a blind French teenager born some 18 years after Morse but who made his mark much more precociously. Little is known of his life, but what is known makes a compelling story.

Louis Braille was born in 1809 in Coupvray, France, just 25 miles east of Paris. His father was a harness maker. At the age of three—an age when young boys shouldn’t be playing in their fathers’ workshops—he accidentally stuck a pointed tool in his eye. The wound became infected, and the infection spread to his other eye, leaving him totally blind. Most people suffering such a fate in those days would have been doomed to a life of ignorance and poverty, but young Louis’s intelligence and desire to learn were soon recognized. Through the intervention of the village priest and a schoolteacher, he first attended school in the village with the other children and then at the age of 10 was sent to the Royal Institution for Blind Youth in Paris.

An image of Louis Braille.

ullstein bild Dtl/Getty Images

The major obstacle in the education of blind children is their inability to read printed books. Valentin Haüy (1745–1822), the founder of the Paris school, had invented a system of embossing letters on paper in a large rounded font that could be read by touch. But this system was very difficult to use, and only a few books had been produced using this method.

The sighted Haüy was stuck in a paradigm. To him, an A was an A was an A, and the letter A must look (or feel) like an A. (If given a flashlight to communicate, he might have tried drawing letters in the air, as we did before we discovered it didn’t work very well.) Haüy probably didn’t realize that a type of code quite different from embossed letters might be more appropriate for sightless people.

The origins of an alternative type of code came from an unexpected source. Charles Barbier, a captain of the French army, had by 1815 devised a system of writing later called écriture nocturne, or “night writing.” This system used a pattern of raised dots on heavy paper and was intended for use by soldiers in passing notes to each other in the dark when quiet was necessary. The soldiers could poke these dots into the back of the paper using an awl-like stylus. The raised dots could then be read with the fingers.

Louis Braille became familiar with Barbier’s system at the age of 12. He liked the use of raised dots, not only for the ease in reading with the fingers but also because it was easy to write. A student in the classroom equipped with paper and a stylus could actually take notes and read them back. Braille diligently worked to improve the system and within three years (at the age of 15) had come up with his own, the basics of which are still used today. For many years, the system was known only within the school, but it gradually made its way to the rest of the world. In 1835, Louis Braille contracted tuberculosis, which would eventually kill him shortly after his 43rd birthday, in 1852.

Today, various versions of the Braille system compete with audiobooks for providing blind people with access to the written word, but Braille remains an invaluable system and the only way to read for people who are both blind and deaf. In recent decades, Braille has become more familiar to the general public as elevators and automatic teller machines have used Braille to become more accessible.

What I’ll do in this chapter is dissect the Braille code and show you how it works. You don’t have to actually learn Braille or memorize anything. The sole purpose of this exercise is to get some additional insight into the nature of codes.

In Braille, every symbol used in normal written language—specifically, letters, numbers, and punctuation marks—is encoded as one or more raised dots within a two-by-three cell. The dots of the cell are commonly numbered 1 through 6:

The six cells of a Braille letter code, numbered 1, 2, and 3 down the left, and 4, 5, and 6 down the right.

Special typewriters were developed to emboss the Braille dots into the paper, and these days, computer-driven embossers do the job.

Because embossing in Braille just a couple of pages of this book would be prohibitively expensive, I’ve used a notation common for showing Braille on the printed page. In this notation, all six dots in the cell are shown. Large dots indicate the parts of the cell where the paper is raised. Small dots indicate the parts of the cell that are flat. For example, in the Braille character

A Braille character with raised dots 1, 3, and 5.

dots 1, 3, and 5 are raised and dots 2, 4, and 6 are not.

What should be interesting to us at this point is that the dots are binary. A particular dot is either flat or raised. That means we can apply what we’ve learned about Morse code and binary combinations to Braille. We know that there are six dots and that each dot can be either flat or raised, so the total number of combinations of six flat and raised dots is 2 × 2 × 2 × 2 × 2 × 2, or 26, or 64.

Thus, the system of Braille is capable of representing 64 unique codes. Here they are—all 64 of them:

All 64 possible Braille codes in an 8-by-8 grid.

It’s not necessary for all 64 codes to be used in Braille, but 64 is definitely the upper limit imposed by the six-dot pattern.

To begin dissecting the code of Braille, let’s look at the basic lowercase alphabet:

The 25 Braille codes for the letters of the alphabet except for W, which isn’t used in classical French.

For example, the phrase “you and me” in Braille looks like this:

The eight Braille characters spelling out the letters of the phrase “you and me” with a space between the words.

Notice that the cells for each letter within a word are separated by a little bit of space; a larger space (essentially a cell with no raised dots) is used between words.

This is the basis of Braille as Louis Braille devised it, or at least as it applies to the letters of the Latin alphabet. Louis Braille also devised codes for letters with accent marks, common in French. Notice that there’s no code for w, which isn’t used in classical French. (Don’t worry. The letter will show up eventually.) At this point, only 25 of the 64 possible codes have been accounted for.

Upon close examination, you’ll discover a pattern in the Braille codes for the 25 lowercase letters. The first row (letters a through j) uses only the top four spots in the cell—dots 1, 2, 4, and 5. The second row (letters k through t) duplicates the first row except that dot 3 is also raised. The third row (u through z) is the same except that dots 3 and 6 are raised.

Louis Braille originally designed his system to be punched by hand. He knew this would likely not be very precise, so he cleverly defined the 25 lowercase letters in a way that reduces ambiguity. For example, of the 64 possible Braille codes, six have one raised dot. But only one of these is used for lowercase letters, specifically for the letter a. Four of the 64 codes have two adjacent vertical dots, but again only one is used, for the letter b. Three codes have two adjacent horizontal dots, but only one is used, for c.

What Louis Braille really defined is a collection of unique shapes that could be shifted a little on the page and still mean the same thing. An a is one raised dot, a b is two vertically adjacent dots, a c is two horizontally adjacent dots, and so on.

Codes are often susceptible to errors. An error that occurs as a code is written (for example, when a student of Braille marks dots in paper) is called an encoding error. An error made reading the code is called a decoding error. In addition, there can also be transmission errors—for example, when a page containing Braille is damaged in some way.

More sophisticated codes often incorporate various types of built-in error correction. In this sense, Braille as originally defined by Louis Braille is a sophisticated coding system: It uses redundancy to allow a little imprecision in the punching and reading of the dots.

Since the days of Louis Braille, the Braille code has been expanded in various ways, including systems to notate mathematics and music. Currently the system used most often in published English text is called Grade 2 Braille. Grade 2 Braille uses many contractions in order to use less paper and to speed reading. For example, if letter codes appear by themselves, they stand for common words. The following three rows (including a “completed” third row) show these word codes:

Thirty Braille codes (25 of which correspond to the letter code) that are also used for short words.

Thus, the phrase “you and me” can be written in Grade 2 Braille as this:

The phrase “you and me” in Braille with the words “you” and “me” represented with just one code each.

So far, I’ve described 31 codes—the no-raised-dots space between words and the three rows of ten codes for letters and words. We’re still not close to the 64 codes that are theoretically available. In Grade 2 Braille, as we shall see, nothing is wasted.

The codes for letters a through j can be combined with a raised dot 6. These are used mostly for contractions of letters within words and also include w and another word abbreviation:

Ten Braille codes based on the letters A through J but with a raised dot 6.

For example, the word “about” can be written in Grade 2 Braille this way:

The Braille rendition of the word “about” using a single code to represent the letters O-U.

The next step introduces some potential ambiguity absent in Louis Braille’s original formulation. The codes for letters a through j can also be effectively lowered to use only dots 2, 3, 5, and 6. These codes represent some punctuation marks and contractions, depending on context:

Ten Braille code created by lowing the codes for A through J. These represent some common letter combinations and punctuation.

The first four of these codes are the comma, semicolon, colon, and period. Notice that the same code is used for both left and right parentheses but that two different codes are used for open and closed quotation marks. Because these codes might be mistaken for the letters a through j, they only make sense in a larger context amidst other letters.

We’re up to 51 codes so far. The following six codes use various unused combinations of dots 3, 4, 5, and 6 to represent contractions and some additional punctuation:

Six Braille codes created from some otherwise unused patterns for more letter combinations, and a code to indicate a number.

The code for “ble” is very important because when it’s not part of a word, it means that the codes that follow should be interpreted as numbers. These number codes are the same as those for letters a through j:

Ten Braille codes for the number 1 through 9 and zero. These are identical to the Braille codes for the letters A through J and must be preceded by a number code (the code for the letter combination B-L-E) to be interpreted as numbers.

Thus, this sequence of codes

The Braille number code followed by codes for the numbers 2, 5, and 6.

means the number 256.

If you’ve been keeping track, we need seven more codes to reach the maximum of 64. Here they are:

The remaining seven Braille codes.

The first (a raised dot 4) is used as an accent indicator. The others are used as prefixes for some contractions and also for some other purposes: When dots 4 and 6 are raised (the fifth code in this row), the code is a numeric decimal point or an emphasis indicator, depending on context. When dots 5 and 6 are raised (the sixth code), it’s a letter indicator that counterbalances a number indicator.

And finally (if you’ve been wondering how Braille encodes capital letters) we have dot 6—the capital indicator. This indicates that the letter that follows is uppercase. For example, we can write the name of the original creator of this system as

The Braille codes for the name “Louis Braille” using capital indicators and a Braille contraction for the letters O-U.

This sequence begins with a capital indicator, followed by the letter l, the contraction ou, the letters i and s, a space, another capital indicator, and the letters b, r, a, i, l, l, and e. (In actual use, the name might be abbreviated even more by eliminating the last two letters, which aren’t pronounced, or by spelling it “brl.”)

In summary, we’ve seen how six binary elements (the dots) yield 64 possible codes and no more. It just so happens that many of these 64 codes perform double duty depending on their context. Of particular interest is the number indicator along with the letter indicator that undoes the number indicator. These codes alter the meaning of the codes that follow them—from letters to numbers and from numbers back to letters. Codes such as these are often called precedence, or shift, codes. They alter the meaning of all subsequent codes until the shift is undone.

A shift code is similar to holding down the Shift key on a computer keyboard, and it’s so named because the equivalent key on old typewriters mechanically shifted the mechanism to type uppercase letters.

The Braille capital indicator means that the following letter (and only the following letter) should be uppercase rather than lowercase. A code such as this is known as an escape code. Escape codes let you “escape” from the normal interpretation of a code and interpret it differently. Shift codes and escape codes are common when written languages are represented by binary codes, but they can introduce complexities because individual codes can’t be interpreted on their own without knowing what codes came before.

As early as 1855, some advocates of Braille began expanding the system with another row of two dots. Eight-dot Braille has been used for some special purposes, such as music, stenography, and Japanese kanji characters. Because it increases the number of unique codes to 28, or 256, it’s also been convenient in some computer applications, allowing lowercase and uppercase letters, numbers, and punctuation to all have their own unique codes without the annoyances of shift and escape codes.

If you find an error or have any questions, please email us at admin@erenow.org. Thank you!