Text Insertion Point

People often ask questions about the nature of the text insertion point (IP), the blinking vertical bar in between two characters on screen. This post attempts to address some of these questions, notably about where the IP is, what it means, how it works in BiDi text, how to control it programmatically and how it…

UnicodeMath Version 3.1

A new version of Unicode Technical Note #28, UnicodeMath, a Nearly Plain-Text Encoding of Mathematics is now available. It updates several topics and references and uses the name UnicodeMath instead of Unicode linear format. Since there are several math linear formats, such as Nemeth braille, [La]TeX, and AsciiMath, having the name UnicodeMath clarifies the…

Speaking Subscripts, Superscripts, and Fractions

You might think that there’s just one good way to speak a math expression, at least in each natural language. But actually, there are a number of good ways to speak math expressions, each with advantages and disadvantages. This post discusses some of these choices for subscripts, superscripts, and fractions. The post Speaking of math……

UnicodeMath

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…