- From: Neil Soiffer <soiffer@alum.mit.edu>
- Date: Sun, 4 Jul 2021 14:43:13 -0700
- To: "www-math@w3.org" <www-math@w3.org>
- Message-ID: <CAESRWkCHuXfH=LhAYeVTrtt7vtu6AX55E5pFFeN4jWrOfgj7xQ@mail.gmail.com>

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