# Murray Sargent: Math in Office

I'm a software development engineer in Microsoft Office and have been working mostly on the RichEdit editor since 1994. In this blog I focus on mathematics in Office along with some posts on RichEdit and the early Windows days
• #### Equation Arrays

One user (Leperkawn) commented "There is basically no documentation on the \eqarray command so I'll post a quick example that I had to figure out from trial and error." Before looking at his interesting example, here's the text in Section 3.19 of the...
• #### RichEdit Spell Checking, Autocorrection and Prediction

RichEdit has provided support for client spell checking ( TOM object model and temporary character formatting—see tomApplyTmp ) and autocorrect (see EM_SETAUTOCORRECTPROC ) for many years. But it has been the RichEdit client’s responsibility...
• #### User Spaces in Math Zones

Spacing in mathematical expressions involves well defined rules. For example, in the expression a+b=c, a good math display engine automatically inserts 4/18 em on each side of the binary operator + and 5/18 em on each side of the relational operator ...

One handy way to edit mathematical text is to use math context menus. These menus are displayed when you depress the right mouse button with the mouse pointing inside a math zone. In addition to the usual Font and Paragraph options, in a math zone you...
• #### Two Math Typography Niceties

Roughly eight years ago, some colleagues and I had the good fortune to spend an extraordinary afternoon with Donald Knuth, the primary author of TeX, at his home on the Stanford University campus. Among many things, Donald showed us how he uses TeX to...
• #### Negated Operators

Sometimes you need to enter a negated operator like ≠. If you’re a C/C++ programmer, you might think that != should map to ≠, since that’s what != means in those languages (and some others). But since in mathematics ! means factorial, this choice is a...
• #### Entering Math via the Linear Format

The previous blog post is on the cool math handwriting recognition shipped with Windows 7. The post includes a description of a race I had entering equations using the linear format with formula autobuildup against a member of the math handwriting recognition...
• #### Which Languages a Font Supports

A recent post describes how RichEdit chooses default fonts for Unicode characters. The method assigns a character repertoire (CharRep) to each character and queries fonts to find out which CharRep’s they support. If the current font doesn’t...
• #### More on Math Context Menus

An earlier post describes math context menus (right click somewhere in a math zone) for changing the display characteristics of math objects, like fractions and integrals. For example context menus offer options to convert a stacked fraction into a linear...
• #### Directionality in Math Zones

In most places, mathematical text is written “left to right” (LTR). For example, in the expression x + y the plus is displayed to the right of the x and the y is displayed to the right of the plus. But in some Arabic locales, mathematical...
• #### Nathan Myhrvold

This is a post about some of the early days in the life of an amazing person, Nathan Myhrvold. Nathan and his good friend and colleague, Chuck Whitmer, had completed PhD’s in theoretical physics at Princeton. They wanted to investigate advanced...
• #### Math Accents

Accents are quite common in mathematical text. For example, in physics one uses one- to four-dot accents to designate the first through fourth time derivatives, respectively. Primes are often used on integration variables. Transforms can be designated...
• #### Check out Live Writer

This is a test to see how I can use Live Writer to make blog posts more nicely. In particular, it’s desirable to display equations by copying them from Word. For example, this is the mode locking formula which you can enter by typing \integral<space>...
• #### RichEdit 8 Feature Additions

The time has come to summarize the features added in RichEdit 8, which shipped with Windows 8 and Office 2013. Since so much was added, I wrote a number of blog posts over the last twelve months about the larger RichEdit 8 features. The present post lists...
• #### NINCH and EMU

People have been asking about a couple of acronyms fairly often these days, so here’s a blog post on them. They are described on the web already if you type the right queries, but a little more motivation might be useful. The acronyms are NINCH...
• #### Article/Video on Murray Sargent and Math in Office

The article Professor's Laser Focus Gets Math into Office tells some of the story behind the Math in Office project. It also gives a link to a video that includes a sequence of me showing how easy it is to type in the binomial theorem. Hope you like it...
• #### Updated RTF Specification

An updated RTF Specification is available for downloading here . I already blogged about the new version in the MS Word blog, but wanted to add a few words about math in Math in Office blog. The RTF specification includes a thorough discussion of the...
• #### Rick Shoemaker, quantum magician and microcomputer whiz

This post summarizes what I said at the retirement ceremony for my long time collaborator and good friend Dr. Rick Shoemaker, Associate Dean, College of Optical Sciences, and Professor of Optical Sciences. I’ll talk a bit on Rick and his love for...
• #### RichEdit 8 Zoom Support

In this day and age with touch pinch and expand zooming of screens, zoom is everywhere! So you might wonder how to zoom the contents of a RichEdit control. There are two ways: 1) maintaining the display width and rewrapping the text as necessary to fill...
• #### RichEdit 8.0 TOM Table Interfaces

An earlier post describes the RichEdit nested table facility and how the EM_INSERTTABLE and EM_GETTABLEPARMS messages could be used to insert and examine tables. Now those messages are documented in MSDN along with a new message, EM_SETTABLEPARMS that...
• #### RichEdit Character Formatting

RichEdit’s name derives from its ability to represent rich text. Such text is comprised of text runs with different sets of character and paragraph formatting properties along with embedded objects, such as images. Some discussion of paragraph formatting...
• #### Plain Text Math in Bidirectional Contexts

In plain text, bidirectional text (text including some Arabic or Hebrew) is generally displayed according to the Unicode Bidi Algorithm (UBA). Since we’re interested in math, it’s pertinent to study a bit how simple mathematical expressions...