Some braille references

I've had a few people ask about braille math codes. For a long time in the
US and many other places (including some non-English speaking countries),
the Nemeth Braille code has been the most common braille code used. That
code was designed by Abraham Nemeth, a blind mathematician, who came up
with it for his own use. He then formalized it for use by others. The
primary reference is often called the "green book" due to its stark green
cover. It is online at
https://nfb.org/images/nfb/documents/pdf/nemeth_1972.pdf.

Recently, a number of English countries unified the math braille code with
the rest of the braille code used for literary text in Unified English
Braille. UEB uses the same dot patterns for 0-9 and a-i and therefore
requires a numeric prefix to say "now this means a digit" (Nemeth code
numbers are a-j lowered down one dot). Needless to say, a numeric indicator
makes math more verbose. I've seen estimates that UEB math uses ~40% more
space to represent math. A tutorial on UEB math is
https://uebmath.aphtech.org/. The tradeoff for the verbosity is that
braille readers don't need to learn different patterns for 0-9 and some
other characters such as "+" and "-". UEB provides a way to include Nemeth
code in UEB literary code via start/end markers.

The use of UEB math vs Nemeth is hugely controversial. Both math codes are
very much oriented towards describing what is displayed and I don't think
MathML favors either one. I do not think it is appropriate for any of our
spec work to advocate for either standard. It would be good to learn for
internationalization efforts whether any braille codes encode semantics
(see below). Braille codes for languages based on the Roman alphabet have
somewhat standardized on the patterns used for letters and some indicators
(capital, number), but there is less commonality outside of those dot
options (standard braille is 2x3 dots, hence 2^6=64 chars; there are some
2x4 versions). I have no knowledge of how braille is done in countries that
don't have a small alphabet/letters.

If some braille codes do make use of semantics, that could potentially
affect our intent discussions. There are some people in the group who know
Nemeth better than I do, so I hope they chime in and can give examples
where Nemeth or some other braille code is not purely syntactic.

A few other notes:

Louis Braille was French and he developed the first braille code after losing
his sight as a child <https://en.wikipedia.org/wiki/Louis_Braille> (it's a
terrible story and not one to read if you are a new parent). Hence, the
original braille code was French and there have been several revisions to
the code since. One of the later changes is to add "dot 6" to the symbols
a-i to indicate a number. This document
<https://chezdom.net/mathematicalbraillecodes/> summarizes some other
braille codes used in other countries and has some references.

DotsPlus
<https://books.google.com/books?id=nutFACIkIR0C&pg=PA1219&lpg=PA1219&dq=dotsplus+math&source=bl&ots=ERWYIi8WGz&sig=ACfU3U2tlFn70QN-WeD1sWkwZkPDAzk8IA&hl=en&sa=X&ved=2ahUKEwjcz4m3rMrxAhUWip4KHTdIBYAQ6AEwBXoECA8QAw#v=onepage&q=dotsplus%20math&f=false>is
a system for displaying braille math on a braille embosser developed by
John Gardner. DotsPlus only requires knowledge of braille letters and
numbers. All other symbols are displayed graphically. A major problem with
DotsPlus is that it can't be written by a person easily (could use swell
paper, but it would be difficult). A less major problem is that the
vertical motion required to read it is unfamiliar to braille readers.

A version of braille maybe used by the Dutch (introduced in 2009)
linearizes the math first into a calculator-like notation with parens and
some notations replaced by standard abbreviations (e.g, "sqrt(...)").
Having linearlized and reduced the problem to text, standard braille can be
used. Some schools in (I think) German speaking countries have pushed
learning LaTeX for math and so they too use a linearization of the math
that doesn't require a new code.

Nemeth code translation requires some context when generating it. For
example, nested fractions/radicals indicate the amount of nesting when they
start/end ('start fraction start fraction ... end fraction end fraction'
for a simple nesting). It also indicates the current level of scripts (e.g,
'super super script' for a second level script) and has a braille indicator
for indicating "baseline" when a script has ended and is back to the
baseline.

Hopefully this sheds a little light on braille math. I strongly encourage
others with more knowledge to elaborate on some points and/or correct
things I wrote.

    Neil

Received on Sunday, 4 July 2021 21:43:29 UTC