### NUMBRL and the Unicode Braille Patterns (for Computer Nerds)

It is an obvious idea for anyone who works with computers to think of a braille cell as a binary-coded octal or hexadecimal number with the filled positions being one's and the empty positions being zeroes. (If you're a little hazy on the binary and other number systems, you might want to check out our brief introduction). Unfortunately, the way this encoding is usually interpreted is more useful to computers than humans; the standard way is to assign the place values in the same order as the dots are ordinarily numbered. This means, for example, that the braille cell with dot pattern 1-2-3 would correspond to seven and the one with dot pattern 4-5-6 would correspond to seventy (octal).

However, if you reverse these assignments and assign the octal values 1-2-4 to dot positions 4-5-6 and the octal values 10-20-40 to dot positions 1-2-3, then summing the values of filled positions generates a two-digit octal numerical code--called KOBRL or NUMBRL--in which the digits are in the same left-to-right order as the cells' columns when the cells are read. For example, NUMBRL for the letter "o", which is dot pattern 1-3-5 is 52 and for the two-letter sign "ow", which is dot pattern 2-4-6 is 25.

(Note that in this restricted situation where the sums don't involve carrying, you can compute the correct NUMBRL codes by interpreting the values as decimal and using decimal arithmetic word-facts to sum the values of filled positions. For example, ten plus twenty equals thirty in both octal and decimal if by ten you mean the number with digits one-zero.)

The importance of NUMBRL is that, given a NUMBRL code, you can quickly determine the dot pattern of the corresponding braille cell. Consider, for example, code 63. The only way you can get a "60" is to have dots in positions 2 and 3 and the only way you can get a "3" (or "03") is to have dots in positions 4 and 5. That means that code 63 is dot pattern 2-3-4-5 which happens to be the letter "t".

Dotless Braille tip You can actually use the NUMBRL codes as a way of memorizing which letters and other signs are associated with which dot patterns. That is, instead trying to memorize the actual dot patterns in alphabetical order, you do the opposite: memorize the signs in numerical order. For example, the letters "a", "c", "e", and "d" or the mnemonic "aced" have sequential NUMBRL codes 10, 11, 12 and 13. Letters "i" and "j" are codes 21 and 23, respectively. The remaining four of the first ten letters of the alphabet as the mnemonic "bfhg" or "BeeFHuG" havesequential NUMBRL codes 30-31-32-33. (These ten cells are the most crucial to remember because the dot patterns for the next four sets of ten cells in the standard arrangment each have a very simple relationship to the set for a-j.)

Dotless Braille tip. If you are already familiar with the bit patterns for the numbers 1-63 you may find that visualizing the NUMBRL codes can help you learn six-key typing. You have to remember that your index fingers are the "Little Endian" positions corresponding to the dot positions at the top of each column.

The NUMBRL approach can also be used with eight-dot braille but then you need to use hexadecimal , of course. You will get the same number codes for the six-dot cells--but with different numerical equivalents--if you treat the values given previously as hexadecimal instead of octal. The NUMBRL hexadecimal values for eight-dot cells are as follows. For the left-hand column dot positions 1-2-3-7 the values are 10-20-40-80 hex and for the right-hand column dots positions 4-5-6-8 the values are 1-2-4-8 hex. The subset of the NUMBRL hex codes for the six-dot cells (including the space) are all the codes with a first digit from 0-7 and a second digit from 0-7 which are exactly the same digits as the NUMBRL octal codes.

(Note that in computing the NUMBRL hexadecimal codes from the dot patterns you have to be careful to sum the columns separately if you use any decimal arithmetic word-facts since, for example, eight plus two in hex is "A" and not ten.)

The Unicode Standard, Version 3.0, uses a single set of character codes for both six-dot and eight-dot braille. Determining the dot patterns from the Unicode codes is very hard to do in your head even for six-dot cells because there is no simple relationship between the displayed pattern and the code since the assignment of place values is in accord with the standard numbering system for the dot positions; it is worse than simply having the columns reversed as in the octal six-dot case.

Unicode assigns the left-hand column dot positions 1-2-3-7 to have the values 1-2-4-40 hex and the right-hand column dots patterns 4-5-6-8 to have the values 8-10-20-80 hex. The subset of the Unicode codes for the six-dot cells (including the space) are all the codes with a first digit from 0-3 and a second digit from 0-F. (Note that the official Unicode Codes for the Braille Patterns are actually four digits and are all preceded by the Unicode identifier digits "28".)