Murray Sargent

Principal Software Engineer, CXE (Office Shared)

Yale BS, MS, PhD in theoretical physics. Worked 22 years in laser theory & applications first at Bell Labs and then Professor of Optical Sciences, University of Arizona. Worked on technical word processing, writing the first math display program (1969) and the technical word processor PS (1980s). Developed the SST debugger we used to get Windows 2.0 running in protected mode thereby eliminating the 640KB DOS barrier (1988). Have more than 100 refereed publications, 3 laser-physics books, 4 PC books, 163 posts on Math in Office blog. Joined Microsoft Research in 1992. Since 1994 have been in Microsoft Office working mostly on RichEdit and OfficeMath. Member of Unicode Technical Committee (1994—) and MathML Working Group (1999—).

Post by this author

LineServices

One of the key technologies behind the high-quality display of mathematical text in OfficeMath applications like Word, PowerPoint, and OneNote is a special component called LineServices along with its sibling Page/TableServices (PTS). In addition to handling math display, various versions of LineServices are responsible for line layout in Word...

Unicode Math Braille Sequences

Cascadia Code Font

For many years, I’ve wanted to use real mathematical notation in computer programs for code that is mathematical in nature. The document UnicodeMath discusses this in some detail in Section 6. Using UnicodeMath in Programming Languages. Over the years, some advances beyond ASCII (invented in the 1960’s!) have been made. For example, you ...

RichEdit Font Binding

Suppose a user pastes some plain text into a document. In principle, the text can contain any Unicode character. That includes virtually all characters used in the current languages of the world along with many ancient scripts and a plethora of symbols, mathematical and otherwise, that don’t belong to any language. The question arises as to ...

Switching from LaTeX to UnicodeMath Input Mode

Here’s a bit of a puzzle. When the user enters “a/b” in LaTeX mode and formats it with the Enter key, the ‘/’ is marked as “nobuildup”. If the user then switches to UnicodeMath input mode and enters a space after the linear fraction containing the ‘/’, the fraction won’t build up, by design. If you delete the / and reenter ...

RichEdit HTML Support

RichEdit has had limited HTML support for many years, but it wasn’t general enough to document publicly. A recent RichEdit client (to be described in a future post) needs better support, so we have been improving it. For example, we have added HTML copy/paste, images, and math (of course!) to the Microsoft Office riched20.dll. Ideally ...

Cool Windows Math Hot Key

The Windows key is used in a bunch of useful hot keys. Probably my favorite is Windows+Shift+s, which lets you copy any rectangular area on your screen(s) to the clipboard. I use this hot key a lot in describing application UI and other objects on the screen such as those in this post. I also use Windows+x y to see system info such as the name...

Math Accessibility Trees

This post discusses aspects of making mathematical equations accessible to blind people. Equations that are simple typographically, such as 𝐸 = 𝑚𝑐², are accessible with the use of standard left and right arrow key navigation and with each variable and two-dimensional construct being spoken or felt when the insertion point is moved to...

Some UnicodeMath Enhancements

In the years since UnicodeMath 3.1 was published, some improvements have been made. The converter that converts UnicodeMath to OfficeMath also converts LaTeX and Nemeth math braille to OfficeMath. The converter needs ways to provide OfficeMath math-object arguments even when these arguments are not marked as such in the math format. The ...

RichEdit Emoticon Shortcuts

Seems many email messages and IM’s include emoji smiley faces like 😊. You just type :-) and you get 😉 whether you want it or not! About a year ago, the Microsoft 365 RichEdit started offering such a facility. This post describes the built-in emoticon shortcut strings and the corresponding emoji characters and the APIs for enabling the ...