In writing the post Nemeth Braille—the first math linear format, I became increasingly aware that the Unicode Nearly Plain Text Encoding of Mathematics needed a better name than “linear format”. In addition to the Nemeth braille linear format, there are other math linear formats some of which are described in the post Linear Format Notations…

## Nemeth Braille Alphanumerics and Unicode Math Alphanumerics

Both Unicode and Nemeth braille include sets of math alphanumerics. Section 2.2 of Unicode Technical Report #25 discusses the math alphanumerics and why they’re important for math. Microsoft Office math zones use math alphabetics for most variables and support the math digit sets as well. Accordingly, we need mappings between Unicode and Nemeth braille math alphanumerics….

## Nemeth Braille—the first math linear format

The 6-dot Nemeth braille encoding was created by Abraham Nemeth for mathematical and scientific notation and is general enough to encode almost all of the Microsoft Office math notation. He started working on his encoding in 1946 and it was first published in 1952 by the American Printing House for the Blind. It’s a little…

## Speaking of math…

This post discusses how a combination of the Office in-memory built-up format (“Professional” in Word) and UnicodeMath is ideal for generating speech for math zones. Neither format was designed with speech in mind. The built-up format was designed to aid the creation of beautiful math typography. UnicodeMath was designed to aid math keyboard input by…

## RichEdit Text Pointers

A text editor has to provide ways of reading and modifying text. For external clients, the RichEdit editor provides the Text Object Model (TOM) interfaces including ITextRange[2] and ITextSelection[2].These interfaces are quite efficient, since they are lightweight wrappers around the internal editing machinery. This post describes how RichEdit’s design came to be and notes a…

## Math Accessibility Trees

This post discusses some aspects of making mathematical equations accessible to blind people. Presumably equations that are simple typographically, such as E = mc², are accessible with the use of standard left and right arrow key navigation and with each variable and two-dimensional construct being spoken when the insertion point is moved to them. At…

## Font Binding Refinement

As discussed in the post RichEdit Font Binding, in a text string when a character appears that isn’t supported by the current font, an appropriate font needs to be used. There are a number of pitfalls in making such font choices. For example, the post Math Font Binding discusses special requirements for font binding in…

## Unicode Math Calligraphic Alphabets

Unicode needs a way to encode bold and regular math Calligraphic/Chancery alphabets as well as bold and regular script alphabets, since it turns out that Calligraphic and Script alphabets are used contrastively by some authors and [La]TeX has had both kinds of letters. In most documents, Script and Calligraphic shapes can be substituted for one…

## Wingdings with Cyrillic, Greek, etc., Characters

This post describes some seemingly anomalous behavior that can happen when you type characters that have Unicode code points above U+00FF, such as Cyrillic and Greek characters, while a SYMBOL_CHARSET font like Wingdings is active. By definition such fonts are not Unicode fonts and don’t have characters with code points above 255 (0xFF in hexadecimal)….

## Math Font Binding

The post RichEdit Font Binding outlines how RichEdit chooses fonts when you paste or otherwise enter plain text into a RichEdit control. But it doesn’t describe how math font binding differs from natural-language font binding. The differences are due to 1) Math styles like math italic, bold, script, Fraktur and double-struck are obtained by character…